0

首先,让我说我对 Objective-C 和 iOS 编程很陌生,所以如果这个问题的答案对你们来说是显而易见的,请原谅我。

所以我现在正在阅读 Apress 开始 iOS 5 书和第 10 章关于情节提要,在尝试运行其中一个示例时遇到以下问题。

据我了解,这段代码应该将任务文本从列表传递到下一页的文本输入字段。这是书中的代码,但是在尝试构建和运行代码时出现此错误:在“BIDTaskListController *”类型的对象上找不到属性“tableView”。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    UIViewController *destination = segue.destinationViewController;

    if ([destination respondsToSelector:@selector(setDelegate:)]) { 
        [destination setValue:self forKey:@"delegate"];
    }

    if ([destination respondsToSelector:@selector(setSelection:)]) {
        // prepare selection info
        NSIndexPath *indexPath = [self.tableView indexPathForCell:sender]; // Error on this line
        id object = [self.tasks objectAtIndex:indexPath.row];
        NSDictionary *selection = [NSDictionary dictionaryWithObjectsAndKeys:
                                  indexPath, @"indexPath", 
                                  object, @"object",
                                  nil];
        [destination setValue:selection forKey:@"selection"]; 
    }
}

另外,顺便说一下,我正在运行 Xcode 4.4。任何帮助将非常感激。谢谢。

问候,蒂姆

4

1 回答 1

0

您必须将此代码放在 UITableViewController 中,可能您正在使用 UIViewController,因此您没有对 tableview 的引用,或者您可以将 UITableView 添加到您的 UIViewController 并将 IBOutlet 连接到它。

于 2012-08-26T21:06:38.563 回答