【发布时间】:2012-03-29 16:41:17
【问题描述】:
我正在尝试做一个UITableView,但我完全被卡住了。我的问题是我正在尝试执行-tableView:cellForRowAtIndexPath: 方法,并且为了填充单元格,我有一个myObject 的NSArray,这是由另一个类通过我的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 中显示的对象。所以通过一个转场,我在 TableViewController 中设置了这个 NSArray。在设置器中,当我执行 NSLog 时,所有数据都在 NSTableViewController 的属性中的 NSArray 中,但是当我尝试在方法 tableView:cellForRowAtIndexPath: 中访问时,信息为空。为什么?我不知道。
谢谢:P
【问题讨论】:
-
发布setter方法,以及调用setter的代码。
-
Stacky 我有点困惑,伙计。我真的不明白你在做什么。对于基本来说,NSLog NSArray 总是很方便,以查看数组中的真正内容。但首先你可以请多多指教谢谢:)
-
一方面,setmyObjectList 中的“m”应该大写。
-
我要解释一下 :) 我有一个 NSArray 类,其中包含我想在 TableView 中显示的对象。所以通过一个转场,我在 TableViewController 中设置了这个 NSArray。在设置器中,当我执行 NSLog 时,所有数据都在 NSTableViewController 的属性中的 NSArray 中,但是当我尝试在方法 tableView:cellForRowAtIndexPath: 中访问时,信息为空。为什么?我不知道。谢谢:P
-
好的,伙计们,我修好了。这是因为我的 NSArray 包含的对象的属性很弱。所以我丢失了指向数据的指针。感谢您的关注和帮助:)
标签: objective-c ios cocoa-touch nsarray uitableview