在UITableViewController的方法中访问时NSArray为空

问题描述 投票:0回答:1

我正在尝试做一个

UITableView
,但我完全卡住了。我的问题是我正在尝试执行方法
-tableView:cellForRowAtIndexPath:
并填充单元格,我有
NSArray
myObject
,这是由另一个类通过我的
UITableViewController
中的设置器设置的。

我的问题是,当我要使用该数组时,它完全是空的,我不知道为什么——当我执行 setter 时,该对象有数据,但是当我尝试在该数组内执行 getter 时上面的方法,是空的。有人可以告诉我原因以及如何解决吗?

我的二传手:

- (void)setmyObjectList:(NSArray *)list{          
      _myObjectList = list;
}

MyObjectList 在 .h: 中声明

@property (nonatomic, strong) NSArray *myObjectList;

这段代码位于通过 segue 调用我的 TableViewController 的控制器中:

myTableViewController *myTVC = segue.destinationViewController;
[myTVC setPharmaciesList:self.list];

也许我没有解释清楚:我有一个类,它有一个 NSArray ,其中包含我想在 TableView 中显示的对象。因此,通过 segue,我在 TableViewController 中设置了这个 NSArray。在设置器中,当我执行 NSLog 时,所有数据都位于 NSTableViewController 属性中的 NSArray 中,但是当我尝试在方法 tableView:cellForRowAtIndexPath: 中访问时,信息为空。为什么?我不知道。

谢谢

objective-c ios cocoa-touch nsarray uitableview
1个回答
0
投票

首先,不要重写 setter 方法,因为你没有在那里做任何特殊的事情。其次,您在哪里创建稍后通过调用将属性设置为的数组 [myTVC setPharmaciesList:self.list];

即你在哪里填充 self.list ?

© www.soinside.com 2019 - 2024. All rights reserved.