簡體   English   中英

將對象添加到NSMutableArray時遇到問題

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM