Mac应用程序的内存问题

时间:2012-07-19 00:05:56

标签: objective-c memory-management automatic-ref-counting

我在AppDelegate中遇到以下方法的问题。

- (void)itemDiscovered:(PodcastShow *)show
{
    NSLog(@"%@", show);
    NSArray* newArray = [self.showArray arrayByAddingObject:show];
    self.showArray = (NSMutableArray*)newArray; //This line signals SIGABRT
}

一般来说,我是ARC和Objective-C的新手。显然,存在记忆问题,但我不知道自己做错了什么。我已经写了很多这样的代码,而且我从未遇到过像这样的问题。这是showArray属性:

@property (strong, nonatomic) NSMutableArray *showArray;

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

为什么不将新对象添加到showArray?

[self.showArray addObject: show];

或者我错过了创建newArray

的内容

答案 1 :(得分:1)

尝试[self.showArray addObjectsFromArray:newArray][self.showArray addObject:show]

还要确保通过在代码中的某处调用self.showArray = [NSMutableArray array](或类似的东西)来创建可变数组。