我的应用程序中有 tableview、detailview 和 favoriteview。当用户触摸 tableview 中的单元格时,将转到包含照片、标签、文本字段和按钮的 detailview 以添加到收藏夹。用户可以触摸收藏夹按钮将特定单元格添加到 favoritetableview。我可以成功地将单元格添加到喜爱表视图,但是当我在喜爱表视图中触摸单元格并转到详细视图时,详细表视图(照片和文本字段等)中没有加载任何内容,只能将名称发送到详细视图我如何将照片和文本字段等发送到详细视图最喜欢的观点?如何从与 maintableview 相同的 favoriteview 访问 detailview?
任何想法,将不胜感激。谢谢。
这是我的模特照片:[在此处输入图片描述][1]
这是每个视图的 prepareforsegue 方法:
主表视图:
- (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;
}
}
收藏表视图:
- (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;
}
和我的故事板