我在我的应用程序中有tableview,detailview和favoriteview。当tableview中的用户触摸单元格将转到包含照片,标签,文本字段和按钮的详细视图以添加到favorite.user可以触摸收藏夹按钮以将特定单元格添加到favoritetableview 。 我可以成功地将单元格添加到favoritetableview但是当我触摸cellitetableview并转到详细视图时,detailtableview(照片和文本字段等)中的任何内容都只能将名称发送到detailview 如何从favoriteview发送照片和文本字段等到detailview? 我怎样才能从favoriteview中看到来自favoriteview的详细视图?
任何想法都将不胜感激。感谢。
这是我的模特照片: [在此输入图像说明] [1]
这是针对每个观点的prepareforsegue方法:
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;
}
和我的故事板
答案 0 :(得分:0)
将managedObjectContext从一个类传递到另一个类是完全没必要的。您可以从AppDelegate访问managedObjectContext。首先检查是否可以通过打印日志didselect tableview委托从收藏表中获取用户信息。然后在从喜欢的VC中删除时,在viewdidload方法中打印用户信息。
答案 1 :(得分:0)
我收到了你的错误。您将_birdInfo属性分配给detailViewController,但_birdInfo它自己为null。在执行detailViewController.birdInfo = _birdInfo之前,应该将值设置为_birdInfo;
您可能想做的就是:
<?php