范围或初始化问题?

时间:2011-06-13 02:23:40

标签: objective-c cocoa

在NSObject子类声明中是一个数组:

    @interface theClass : NSObject {
        NSMutableArray *myArray;
    }
    ...

    @end

在实现的初始化程序中:

    - (id)init
    {
        self = [super init];
        if (self) {
            [myArray initWithCapacity:50];
        }

    return self;
    }

在方法中:

- (NSMutableArray *)theMethod:(NSArray *)someArray {
    ...
    ...

    [myArray addObject:anObject];
    ...

    return myArray;
}

尽管在我的控制器中实例化了类,但该方法的任何数量的消息都会留下 myArray 而没有内容。

1 个答案:

答案 0 :(得分:4)

您还没有分配数组。将init代码替换为以下内容:

  - (id)init
    {
        self = [super init];
        if (self) {
            myArray = [[NSMutableArray alloc] initWithCapacity:50];
        }

    return self;
    }