#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSMutableArray *groceries;
NSString *a = (@"loaf of bread");
NSString *b = (@"stick of butter");
NSString *c = (@"big ass cookie");
[groceries addObject:a];
[groceries addObject:b];
[groceries addObject:c];
for (NSString *d in groceries){
NSLog(@"%@", d);
}
}
return 0;
}
为什么这不起作用?怎么了?谢谢。 我现在似乎无法弄明白,for循环似乎是昙花一现。
答案 0 :(得分:0)
虽然您没有初始化NSMutableArray
,但它是零。将对象添加到非初始化的可变数组总是给出nil。
首先,您需要初始化杂货:
NSMutableArray *groceries = [NSMutableArray new];
或更喜欢我的方式:
NSMutableArray *groceries = @[].mutableCopy;
例如,在您的情况下,您可以声明:
NSMutableArray *groceries = @[@"loaf of bread", @"stick of butter", @"big ass cookie"].mutableCopy;