我一直在遵循 Apple 的指南:
http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/TableView_iPhone/TableViewCells/TableViewCells.html#//apple_ref/doc/uid/TP40007451-CH7
涉及:静态行内容技术。
我的问题如下:
我所有的细胞都是nil
.
根据 Apple 的说法, View 的加载应该实例化填充该 nib 文件的所有对象,仅实例化 tableview。因此单元格为 nil 并在方法 cellForRowAtIndexPath:
中使程序崩溃当它返回一个 NULL 单元格时。
我已经按照这封信的指南进行了搜索,除了为每个单元格创建一个 nib 并在需要时加载这些单元格之外,没有找到任何解决方案,但该解决方案远不如 Apple 解决方案优雅。
任何帮助,将不胜感激。
最佳答案
您可能没有将单元格的 IBOutlets 绑定(bind)到单元格本身。如果您的细胞 ivars 是 nil
, 那么你没有连接任何东西。
编辑
如果 IBOutlets 已连接,但 ivars 为 nil,则 IBOutlets 未连接。还有其他可能性,但这是最常见的。其他可能性:您尝试在 viewDidLoad
之前访问.特别是,您无法在 initWithFrame:
期间访问您的 ivars。 .另一种可能性是你在某个时候覆盖了它们。在 viewDidLoad
中检查它们的值.其他可能性是您加载了错误的 nib 文件,或者根本没有加载 nib 文件。所有可能性,但我会先检查 viewDidLoad
中的所有内容并仔细检查您的连接。
关于ios - UITableView 中的静态内容 - 苹果问题指南,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7517893/