【发布时间】:2015-04-20 22:55:42
【问题描述】:
我的 NSMutableArray lOfSegments,声明为 IVAR,得到正确填充。在调试过程中,它会在数组中显示 4 个对象。
for (int x=0; [arrayOfSegmentsTcIn count]>x; x++) {
NSDictionary *segmentDic=[[NSDictionary alloc] initWithObjectsAndKeys: [arrayOfSegmentsNumbers objectAtIndex:x],@"segment",[arrayOfSegmentsTcIn objectAtIndex:x],@"tc_in",[arrayOfSegmentsTcOut objectAtIndex:x],@"tc_out", nil];
[lOfSegments addObject:segmentDic];
[myDMXML.segments addObject:segmentDic];
}
[self.xmlTCLable setStringValue:[myDMXML startTimeCode]];
[self.xmlDurationLable setStringValue:[myDMXML duration]];
[self xmlValidationCheck];
NSLog(@"arrayController:%@",[lOfSegments valueForKey:@"segment"]);
[self.tableViewOutlet reloadData];
NSLog 正确列出了数组,但是当 reloadData 被执行时,代码会跳转到
- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView {
return [lOfSegments count];
}
数组为空。
对象在 viewDidLoad 中被初始化为
lOfSegments = [[NSMutableArray alloc]init];
请帮忙!
【问题讨论】:
-
你能显示更多代码吗?为什么是 ivar 而不是属性?你能显示你的
UITableViewDataSource协议代码的其余部分吗?
标签: objective-c cocoa nsmutablearray automatic-ref-counting