为什么这个NSArray无法正常工作?我正在尝试添加对象

And*_*rew 2 iphone cocoa-touch objective-c nsarray

我正在尝试向此NSArray(labelArray)添加对象,但由于某种原因,它每次都在NSLog中返回为(null),并且计数保持为0.

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(howFarAlong, howFarDown, 50, 70)];
label.text = @"text";
[self.view addSubview:label];
[labelArray addObject:label];
NSLog(@"%@", labelArray);
[label release];
Run Code Online (Sandbox Code Playgroud)

Jef*_*ley 12

一个NSArray是不可改变的.如果你想打电话-addObject:,请使用NSMutableArray.如果labelArrayNSArray,那应该崩溃.如果它没有崩溃,那么它可能是nil,你还没有初始化它.一些代码可以工作:

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(howFarAlong, howFarDown, 50, 70)];
label.text = @"text";
[self.view addSubview:label];

if (labelArray == nil) {
    labelArray = [[NSMutableArray alloc] init];
}

[labelArray addObject:label];
NSLog(@"%@", labelArray);
[label release];
Run Code Online (Sandbox Code Playgroud)