私のアプリは、さまざまな属性を Core Data オブジェクトに格納します。それらはすべて UITableView に表示され、セルをクリックすると DetailView が表示されます。Master-Detail-XCode-Template のような通常のもの。
今度は、peek と pop で 3D Touch を実装したいと思います。メール アプリのように、セルを 3D タッチしてプレビューを取得し、さらに深く押して、詳細を表示します。
これまでのところうまくいきましたが、対応するデータを渡す方法がわかりません
- (nullable UIViewController *)previewingContext:(id <UIViewControllerPreviewing>)previewingContext viewControllerForLocation:(CGPoint)location
と
- (void)previewingContext:(id <UIViewControllerPreviewing>)previewingContext commitViewController:(UIViewController *)viewControllerToCommit
他の DetailViewController に。
セルをクリックするだけで(3Dタッチなし)、データを引き渡します
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
NSManagedObject *object = [[self fetchedResultsController] objectAtIndexPath:indexPath];
[[segue destinationViewController] setDetailItem:object];
私は使用しています
id detailItem
すべてのViewControllerで、対応するオブジェクトをそれに設定します。
だから私は仕事に似たものを手に入れようとするので、私のDetailViewControllerで私の「detailItem」は選択された(3Dタッチされた)セルから対応するCore Dataオブジェクトを必要とします。
手伝ってくれてありがとう !