为什么我无法在我的方法中访问NSMutableArray?

时间:2012-02-29 20:49:27

标签: iphone objective-c methods

我尝试在我的方法中将对象添加到我的NSMutable数组,但不断收到错误。如果我在init中添加对象,它可以工作。在我尝试执行代码之前,并没有说任何错误。

这是在我声明两个数组的#import内容之下:

NSMutableArray *actions1, *actions2;

这是在init:

actions1 = [NSMutableArray array];

这里我尝试将1添加到数组中:

- (void) storeAction:(int) action {
[actions1 addObject:@"1"];
}

正如我之前所说,相同的代码在int中工作。

我也希望它存储声明为“action”的int值,但这似乎也不起作用。

[addObject:@"%d", action];

3 个答案:

答案 0 :(得分:5)

[NSMutableArray array];正在返回一个autoreleased对象,当您尝试访问它时,它很可能已经被释放。请尝试使用[[NSMutableArray alloc] init];。而且你应该紧急检查memory management rules

答案 1 :(得分:2)

试试这段代码

actions1 = [[NSMutableArray alloc] init];

希望这有帮助。

答案 2 :(得分:0)

或者,在头文件中:

@property(nonatomic, strong)NSMutableArray *actions1;

然后在植入文件中:

@synthesize actions1 = _actions1;

然后您可以self.actions1访问您的数组。