[英]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.