2 odpowiedzi

Najlepsza odpowiedź

Próbujesz zmutować niezmienną tablicę. Czy jest zadeklarowany jako NSMutableArray lub NSArray, a jeśli jest zmienny, czy wywołałeś -copy lub -mutableCopy?

W podstawowym fundamencie, NSMutableArrays są wewnętrznie nazywane __NSArrayM (dla zmiennych), a NSArrays są znane jako __NSArrayI (dla niezmiennych).

5
CodaFi 8 marzec 2012, 07:56

Narzeka, że ​​wysyłasz selektor replaceObjectAtIndex:withObject: do NSArray, który jest niezmienny/niemodyfikowalny po utworzeniu. NSMutableArray to mutowalna wersja NSArray. Czy zainicjowałeś właściwość isDinosaurTapped za pomocą NSArray? Powinieneś wywołać coś takiego, zanim użyjesz swojej własności.

self.isDinosaurTapped = [NSMutableArray array]; // or another nsmutable creation method.

Jeśli masz NSArray, który chcesz sklonować do swojej usługi, możesz użyć:

self.isDinosaurTapped = [NSMutableArray arrayWithArray:array];
0
Sanjit Saluja 8 marzec 2012, 07:40