2

我正在开发一个使用 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?"; 我可以看到“工作?” 在详细视图中。

4

0 回答 0