Dan*_*iel 0 arrays cocoa objective-c
我正在创建一个这样的数组:
NSString *str = [NSString stringWithString:@"testString"];
int id1 = 4;
NSArray *data = [NSArray arrayWithObjects:str, id1, @"TEST TEST TEST", nil];
Run Code Online (Sandbox Code Playgroud)
但是在运行时它会出现"EXC_BAD_ACCESS",但是没有声明的变量:S
NSArray只能保存对象,而id1不是对象.使用NSNumber将其包装在可以存储在数组中的对象中:
NSNumber *id1Obj = [NSNumber numberWithInt:id1];
Run Code Online (Sandbox Code Playgroud)
id1
不是NSObject
,它是一种基本类型.您只能将NSObject派生的对象添加到NSArray.
EXC_BAD_ACCESS可能是因为,在封面下,它试图访问存储在int指向的任何地方的对象.换句话说,它使用你的int作为指向NSObject的指针,当它这样做时失败可怕.
归档时间: |
|
查看次数: |
94 次 |
最近记录: |