我的tableView未加载,因为未调用tableView:cellForRowAtIndexPath:
。我在NSLog
中写的tableView:cellForRowAtIndexPath:
消息没有出现在控制台中。我有一个名为listOfItems的weak
NSArray @property。当我将其更改为strong
时,tableView最终显示了它的内容。如果tableView:cellForRowAtIndexPath:
没有被调用,有人可以澄清,因为NSArray很弱。 listOfItems
属性和被调用的tableView:cellForRowAtIndexPath:
方法之间是否存在连接?
答案 0 :(得分:3)
没有对象强烈引用该数组。您的视图控制器有一个参考,但它不强。这意味着你不关心它是否从内存中删除,你不需要它留下来。在这种情况下,由于您的表依赖于数组中的数据,因此您不希望将其从内存中删除:只要表保持不变,您就希望它保持不变。为此,您需要创建一个强引用,以确保该对象不会从内存中删除,直到指针(在这种情况下,您的属性)不再指向它。< / p>