【问题标题】:NSMutableArray removeObjectAtIndex ErrorNSMutableArray removeObjectAtIndex 错误
【发布时间】:2016-02-18 01:03:02
【问题描述】:

这是我不断收到的错误:

由于未捕获的异常 'NSInvalidArgumentException' 导致应用程序终止,原因:'-[__NSArrayI removeObjectAtIndex:]: unrecognized selector sent to instance

我知道错误是说我在 NSArray 上调用 NSMutableArray 功能,但在我的代码中我只有 NSMutableArray 功能...

查看 Controller.h:

@property (copy, nonatomic) NSMutableArray *exampleMessages;
//added NSMutableArray property named exampleMessages

查看 Controller.m:

- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.

self.exampleMessages = [[NSMutableArray alloc]initWithObjects:@"Example Message..", @"Example Message..",@"Example Message..",@"Example Message..",@"Example Message..", @"Example Message..",@"Example Message..",@"Example Message..", nil];

我是否错误地创建了 NSMutable 数组? 请帮忙!

【问题讨论】:

    标签: ios objective-c xcode uitableview nsmutablearray


    【解决方案1】:

    NSMutableArray不能被复制。

    改变

    @property (copy, nonatomic) NSMutableArray *exampleMessages;
    

    @property (nonatomic) NSMutableArray *exampleMessages;
    

    到目前为止,我至少对自己做过三遍。这是一个真正的痛苦。很遗憾地通知您,属性没有 mutableCopy 属性,我也查了这个。

    对此我的最佳答案是覆盖-setExampleMessages:

    - (void)setExampleMessages:(NSMutableArray *)exampleMessages {
        _exampleMessages = [exampleMessages mutableCopy];
    }
    

    【讨论】:

    • @Cameron 没问题。如果我的回答解决了您的问题,请务必接受。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多