由于没有调用tableView:cellForRowAtIndexPath:
,所以没有加载我的tableView。我在tableView:cellForRowAtIndexPath:
中编写的NSLog
消息没有出现在控制台中。我有一个名为listOfItems的weak
NSArray@属性。当我将其更改为strong
时,tableView终于显示了它的内容。有人能澄清一下tableView:cellForRowAtIndexPath:
是否因为NSArray太弱而没有被调用。listOfItems
属性和正在调用的tableView:cellForRowAtIndexPath:
方法之间是否存在连接?
没有对象对数组有强引用。您的视图控制器有一个引用,但它不强。这意味着你不在乎它是否从记忆中消失,你不需要它留下来。在这种情况下,由于表依赖于数组中的数据,因此不希望将其从内存中删除:只要表还在,它就一直存在。为此,您创建了一个强引用,以确保该对象不会从内存中删除,直到该指针(在本例中是您的属性)不再指向它为止。