Objective c 满是脏物的垃圾堆
我正在尝试创建一个布尔值数组。请问我要做多少Objective c 满是脏物的垃圾堆,objective-c,Objective C,我正在尝试创建一个布尔值数组。请问我要做多少 NSArray *array = [[NSArray alloc] init]; array[0] = YES; 这对我不起作用 谢谢使用[NSNumber numberWithBool:YES]获取可以放入集合中的对象。NSArray不是c阵列。不能使用array[foo]访问NSArray的值 但是,您可以在objective-c中使用c类型数组而不会出现问题 目标C方法将是: NSMutableArray *array = [[NSMutab
NSArray *array = [[NSArray alloc] init];
array[0] = YES;
这对我不起作用
谢谢使用
[NSNumber numberWithBool:YES]
获取可以放入集合中的对象。NSArray不是c阵列。不能使用array[foo]访问NSArray的值代码>
但是,您可以在objective-c中使用c类型数组而不会出现问题
目标C方法将是:
NSMutableArray *array = [[NSMutableArray alloc] init];
[array addObject:[NSNumber numberWithBool:YES]];
//or
[array addObject:@(NO)];
...
BOOL b = [[array objectAtIndex:0] boolValue];
....
[array release];
编辑:现在是objective-c标准编译器clang的新版本,请理解。当您使用新版本的clang时,您将能够使用数组[0]=@YES
似乎您将c数组与objc NSArray混淆了。NSArray更像是Java中的一个数组,您可以在其中添加对象,但不能添加NSInteger、BOOL、double等值。如果您希望在NSArray中存储此类值,首先需要创建一个可变数组:
NSMutableArray* array = [[NSMutableArray alloc] init];
然后向其中添加适当的对象(在本例中,我们将使用NSNumber存储布尔值):
差不多就是这样!如果您希望访问bool值,只需调用:
BOOL yourBoolValue = [[array objectAtIndex:0] boolValue];
干杯,
Pawel数组[0]=[NSNumber numberWithBool:是];给我一个“分配中的不兼容类型”错误[array addObject:[NSNumber numberWithBool:是]]我正在尝试,并且它给我***由于未捕获的异常“NSInvalidArgumentException”终止应用程序,原因:'+[NSNumber numberWithBool::]:发送到类的无法识别的选择器应该是[NSNumber numberWithBool:是]。对不起,我弄错了
BOOL yourBoolValue = [[array objectAtIndex:0] boolValue];