2016-02-18 4 views
1

Это ошибка я получаю:NSMutableArray removeObjectAtIndex Ошибка

Нагрузочного приложение из-за неперехваченное исключение «NSInvalidArgumentException», причина: «- [__ NSArrayI removeObjectAtIndex]: непризнанный селектор направлен например

Я понимаю, что ошибка говорит, что я звоню функциональность NSMutableArray в NSArray а в моем коде я только функциональность 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 неправильно ?? Пожалуйста, помогите!

ответ

1

NSMutableArray не может быть копией.

Изменить

@property (copy, nonatomic) NSMutableArray *exampleMessages; 

в

@property (nonatomic) NSMutableArray *exampleMessages; 

Я сделал это для себя, по крайней мере в три раза до сих пор. Это настоящая боль. Извините, что вы указали атрибут mutableCopy для свойств, я тоже посмотрел.

Лучший ответ, который у меня есть, - это переопределение -setExampleMessages:.

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

Большое вам спасибо! – Cameron

+0

@Cameron Нет проблем. Если мой ответ устраняет вашу проблему, то обязательно примите его. –