从FavoriteTableView发送数据到DetailView?

我有我的app.when用户触摸单元格中的tableview,detailview和favoriteview将去详细信息包含照片,标签,文本字段和button添加到favorite.user可以触摸最喜欢的button,以添加特定的单元格为favoritetableview。 我可以successfullly添加细胞favoritetableview,但是当我触摸cellit in favoritetableview并去详细视图,没有任何加载detailtableview(照片和文本框等)只能发送名称detailView如何发送照片和textfield等detailview favoriteview? 我怎样才能达到从bestview同维护视图的detailview?

任何想法,将不胜感激。 谢谢。

这是我的模特照片:[enter image description here] [1]

这是每个观点的准备方法:

maintableview:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if ([[segue identifier] isEqualToString:@"SpeciesDetail"]) { GeneralViewController *detailViewController = (GeneralViewController*)[segue destinationViewController]; NSIndexPath *path = [self.tableView indexPathForSelectedRow]; BirdInfo *info; BirdImage *imageObj; if (!_didSearch) { info = (BirdInfo *)[self.fetchedResultsController objectAtIndexPath:path]; imageObj = info.thumbnailImage; } else { info =(BirdInfo *)_searchResult[path.row]; } detailViewController.birdName = info.com_name; detailViewController.sciName = info.sci_name; detailViewController.desbird = info.descriptionbird; detailViewController.birdInfo = info; detailViewController.managedOjbectContext = self.managedOjbectContext; } } 

Favoritetableview:

 - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { NSIndexPath *indexPath = (NSIndexPath *)sender; // NSIndexPath *indexPath =[self.tableView indexPathForSelectedRow]; Favorite *fav = (Favorite *)[self.fetchedResultsController objectAtIndexPath:indexPath]; NSString *combinedName = fav.name; if ([segue.identifier isEqualToString:@"FavoriteBirdDetail"]) { GeneralViewController *detailViewController = (GeneralViewController*)[segue destinationViewController]; detailViewController.birdName = [combinedName componentsSeparatedByString:@"^"][0]; NSArray *anArray = [combinedName componentsSeparatedByString:@"^"]; if ( anArray.count >= 2) { detailViewController.sciName = anArray[1]; //detailViewController.birdInfo=fav.birdInfo; } detailViewController.managedOjbectContext = self.managedOjbectContext; } 

和我的故事板

在这里input图像描述

将managedObjectContext从一个类传递到另一个类是完全没有必要的。 您可以从AppDelegate访问managedObjectContext。 首先检查是否可以通过打印日志didselect tableview委托从最喜欢的表中获取用户信息。 然后从最喜欢的VC继续在printdidload方法中打印用户信息。

我得到了你的错误。 您正在将_birdInfo属性分配给detailViewController,但_birdInfo它自身为空。 在做detailViewController.birdInfo = _birdInfo;之前,你应该将值设置为_birdInfo。

可能是你想要做的是:

 detailViewController.birdInfo = fav.birdInfo; // Not detailViewController.birdInfo = _birdInfo; //_birdInfo is null if you assign to detailViewController.birdInfo will return null too