我正在开发一个使用 tableView 打开的应用程序,一旦选择了一个单元格,用户就会被带到与第一个 tableView 中选择的第一个单元格相关的选项的第二个 tableView。在第二个 tableView 上,用户应该再选择一个单元格并将被带到详细视图。
我的第一个 tableView 正确显示,第二个 tableView 也显示它应该显示的内容。问题是在第二个 tableView 上选择一些东西并被带到详细视图。详细视图屏幕出现,但它是空的。
我尝试添加 NSLogs 以查看我的 NSSet 是否包含任何内容,但它似乎没有显示任何内容。我查看了 sql 文件,它确实包含数据,所以我知道它已被写入,我唯一的问题是访问它。
我在第二个 tableView 屏幕上的 prepareForSegue 代码如下。如果您发现任何严重错误,请告诉我。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"toExplanation"]) {
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
ExplanationViewController *destViewController = segue.destinationViewController;
NSSet *optionChoices = [[self threeScreen] theOptions];
_selectionContent = [optionChoices allObjects];
NSLog(@"%@",[optionChoices allObjects]);
NSSortDescriptor *nameSort = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES];
NSArray *sortedChoices = [optionChoices sortedArrayUsingDescriptors:[NSArray arrayWithObject:nameSort]];
NSLog(@"%@", sortedChoices);
Option *option = [sortedChoices objectAtIndex:indexPath.row];
destViewController.explainToMe = option.explanation;
//destViewController.explainToMe = @"Working?";
NSLog(@"%@",option.explanation);
}
如果我取消注释 'destViewController.explaintToMe = @"Working?"; 我可以看到“工作?” 在详细视图中。