我得到崩溃,因为我的数组被释放,但我不知道为什么或在哪里。该阵列来自东西看起来是这样的:当返回NSArray时崩溃
@implementation Sources
- (NSArray *)sourceArray{
NSMutableArray *array = [NSMutableArray array];
//fill array with objects
return (NSArray*)array;
}
@end
然后,在tableview中,我已经在那里我重写吸气像这样的属性:
- (NSArray *)feedSourceList
{
if (!_sources) {
_feedSourceList = [_sourceList sourceArray];
}
return _sources;
}
然后我把这样的属性,并导致崩溃:
- (NSInteger)tableView:(UITableView *)aTableView numberOfRowsInSection:(NSInteger)section
{
return [self.feedSourceList count];
}
我不知道为什么数组正在被释放。它的自动释放池是否在我不知道的地方被排空?保留这个阵列的正确方法是什么?
顺便说一句,不需要在这里强制转换:`return(NSArray *)array;` – 2011-01-24 23:00:39