使用标准方法无法访问UITableViewCell?

时间:2011-05-11 09:26:05

标签: iphone xcode uitableview

我正在开发一个项目,它有一个控制器Controller,它包含所有逻辑(即UITableViewDelegate)。我有一个视图View1,它是一个包含UIView作为属性的子类UITableView

我的问题是,当发生某些事情时,我想更新第一行(某种类型的标题行)。我以为我可以做这个电话:

UITableViewCell* headCell = 
    (UITableViewCell*) [view1.tableView 
        cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];

但这似乎不起作用。我headCell

(null)NSLog(@"%@", [headCell description]);

我的控制器调用[view1.tableView setDelegate:self],所以我也试图调用[self cellForRow..],但我只是无法识别的选择器。 NSIndexPath应该是正确的,对吧?

我已经尝试过阅读,但是每个人似乎都让cellForRowAtIndexPath工作,但我不能。有人有任何想法吗?

编辑:我做了一个解决方法,所以如果没有测试它们就不能真正接受任何答案。谢谢。解决方法是创建一个在cellForRowAtIndexPath: - 方法中引用的单元格,并在其他位置手动调整它。我知道这不是最佳做法,但我现在没有时间做其他事情。感谢您的贡献,我会稍后检查以测试它们并接受我的答案,如果我可以让它工作:)

2 个答案:

答案 0 :(得分:2)

使用NSNotification

请参阅苹果文档NSNotification

它将被标题行添加,并将其从具有所需数据的应用程序发布到任何位置。

答案 1 :(得分:1)

cellForRowAtIndexPath方法返回单元格,如果该单元格当前可见,则返回nil