【发布时间】:2011-12-20 09:49:16
【问题描述】:
arrayOfBookViews = [[NSMutableArray alloc] init];
BookView *book1 = [[BookView alloc] init];
[arrayOfBookViews addObject:book1];
BookView *book2 = [[BookView alloc] init];
[arrayOfBookViews addObject:book2];
NSLog(@"%@",arrayOfBookViews);
NSLog(@"%@",arrayOfBookViews.count);
运行这段代码给了我: ( "", “” ) 这是由于倒数第二行。最后一行给我一个 exc_bad_access 内存错误。由于数组及其对象已正确分配和初始化,我不明白为什么询问数组的计数会给我带来内存问题。我目前正在使用 xcode 4 在这个程序中使用自动引用计数。
请解释为什么代码中的最后一行会产生内存错误。谢谢。
【问题讨论】:
-
不确定是否导致内存泄漏,但 arrayOfBookViews.count 返回一个 int,尝试 %i 而不是 %@。
标签: objective-c memory error-handling count nsmutablearray