@interface ViewController ()
@property(strong, nonatomic)NSMutableArray *videos;//全局对象数组
@end
for (NSDictionary *videoDict in array) {
Video *video = [Video videoWithDict:videoDict];
[self.videos addObject:video];//添加局部对象
}
NSLog(@"%d", self.videos.count);//一直打印为0
原因:原来全局数组没有初始化
正确代码
self.videos = [NSMutableArray array];//初始化
for (NSDictionary *videoDict in array) {
Video *video = [Video videoWithDict:videoDict];
[self.videos addObject:video];
}
NSLog(@"%d", self.videos.count);

本文介绍了一个Objective-C编程中常见的内存管理问题:未初始化的全局数组导致的对象计数错误。通过一个具体的示例,展示了如何正确地初始化全局NSMutableArray,并避免由此引发的bug。

2514

被折叠的 条评论
为什么被折叠?



