use*_*801 4 cocoa objective-c nsmutablearray
我有一个NSMutableArray,我需要机会它的值,但我有这个错误:
[__ NSArrayI replaceObjectAtIndex:withObject:]:无法识别的选择器发送到实例0x5291db0
这是我的NSMutableArray的声明:
NSMutableArray *selectedOptions = [NSArray arrayWithObjects:[NSNumber numberWithInteger:0], nil];
Run Code Online (Sandbox Code Playgroud)
然后,我正在使用replaceObjectAtIndex方法,这样:
[self.selectedOptions replaceObjectAtIndex:0 withObject:[NSNumber numberWithInteger:1]];
Run Code Online (Sandbox Code Playgroud)
但我知道,那个错误,我正在使用NSMutableArray.
谢谢
您正在创建一个常规的非变量NSArray.你的代码应该是
NSMutableArray *selectedOptions = [NSMutableArray arrayWithObjects:[NSNumber numberWithInteger:0], nil];
Run Code Online (Sandbox Code Playgroud)
Objective C非常动态,所以它在编译时没有发现这个错误.
你需要初始化你NSMutableArray的做法
NSMutableArray *selectedOptions = [NSMutableArray alloc] init];
Run Code Online (Sandbox Code Playgroud)
通过初始化它NSArray,您不能再使用该repalceObjectAtIndex:withObject:方法,这是您的问题的原因.
在NSMutableArray使用上面的行初始化之后,只需使用该addObject方法向其添加对象.
| 归档时间: |
|
| 查看次数: |
5788 次 |
| 最近记录: |