gpt4 book ai didi

objective-c - TableView :cellForRowAtIndexPath: not called because array is empty?

转载 作者:行者123 更新时间:2023-11-28 20:32:51 30 4
gpt4 key购买 nike

我的 tableView 没有加载,因为 tableView:cellForRowAtIndexPath: 没有被调用。我在 tableView:cellForRowAtIndexPath: 中编写的 NSLog 消息没有出现在控制台中。我有一个名为 listOfItems 的 weak NSArray @property。当我将其更改为 strong 时,tableView 终于显示了它的内容。有人可以澄清一下 tableView:cellForRowAtIndexPath: 是否因为 NSArray 很弱而没有被调用。 listOfItems 属性和正在调用的 tableView:cellForRowAtIndexPath: 方法之间是否存在联系?

最佳答案

没有对象对数组有强引用。您的 View Controller 有一个引用,但它并不强大。这意味着您不在乎它是否从内存中删除,您不需要它留在身边。在这种情况下,由于您的表依赖于数组中的数据,因此您不希望它从内存中删除:只要表还在,您就希望它一直存在。为此,您需要创建一个强引用,以确保该对象不会从内存中删除直到该指针(在本例中为您的属性)不再指向它。

关于objective-c - TableView :cellForRowAtIndexPath: not called because array is empty?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11623013/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com