[英]Having problems with adding objects to NSMutableArray
我在将对象添加到NSMutableArray * array时遇到问题。
// Controller.m
#import "Controller.h"
@implementation Controller
- (void)parser:(NSString *)string{
[array addObject:string];
NSLog(@"answerArray(1): %@",[array objectAtIndex:1]);
[array retain];
}
@end
// Controller.h
#import <Foundation/Foundation.h>
@interface Controller : NSObject {
NSMutableArray *array;
}
- (void)parser:(NSString *)string;
@end
NSLog(@“ answerArray(1):%@”,[array objectAtIndex:1]);
结果:answerArray(1):(空)
NSMutabaleArray从索引0开始
首先,您要过度保留阵列。
其次,您没有提供用于初始化数组的代码,因此我想它没有分配和初始化。 这将导致代码向nil对象发送消息,并因此返回nil。
您应该为Controller
对象创建一个init
方法,并分配一个新的NSMutableArray
对象(并保留它)。
此外,适当dealloc
释放阵列。
这是我添加到Controller类的方法:
- (id)init {
self = [super init];
if(self){
array = [[NSMutableArray alloc] init];
}
return self;
}
- (void)dealloc {
[array release];
[super dealloc];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.