Jestem całkiem nowy dla obiektywu c i staram się stworzyć małą aplikację dla iPhone'a.
Już prawie skończyłem z tym małym błędem. Właściwie przeszukano godziny w google, aby znaleźć właściwe rozwiązanie, ale niestety nie jestem w stanie znaleźć rozwiązania, które działa.
Używam tego samouczka tutaj, aby przyczyniać się do UITableView: UITableView Tutorial Pełny komunikat o błędzie wygląda następująco:obiekt-c "metoda mutacji wysłana do niezmiennego obiektu" błąd
* Zakończenie aplikację spowodowane nieprzechwyconego wyjątku „NSInternalInconsistencyException”, powód: „* - [ NSCFArray insertObject: atIndex:]: mutacji sposób przesyłane do niezmiennej obiekt”
to nagłówek Sterownik danych: MyLinksDataController.h
@interface MyLinksDataController : NSObject {
NSMutableArray *tableList; //<---important part
}
- (unsigned)countOfList;
- (id)objectInListAtIndex:(unsigned)theIndex;
- (void)addData:(NSString *)data; //<---important part
- (void)removeDataAtIndex:(unsigned)theIndex;
@property (nonatomic, copy, readwrite) NSMutableArray *tableList; //<---important part
.....
i metoda kontrolera danych: MyLinksDataController.m
#import "MyLinksDataController.h"
@implementation MyLinksDataController
@synthesize tableList;
- (id)init {
if (self = [super init]) {
NSLog(@"Initilizing DataController");
//Instantiate list
NSMutableArray *localList = [[NSMutableArray alloc] init];
self.tableList = [localList copy];
[localList release];
//Add initial Data
[self addData:@"AAAAAAAAAAAAAA"];
[self addData:@"BBBBBBBBBBBBBB"];
}
return self;
}
----------------------------- - dalej w kodzie źródłowym ---------------------------------
- (void)addData:(NSString*)data; {
[tableList addObject:data]; //<---- here the app crashes
}
Chciałbym bardzo doceniam każdą pomoc.
Dziękujemy za wsparcie z góry.
Daniel
Jeśli właściwość kopia jest naprawdę wezwał do, a następnie przez zastąpienie zachowują właściwość będzie słabe rozwiązanie. Ponieważ nie ma słowa kluczowego mutablecopy, zadeklaruj właściwość jako kopię, ale wpisz swój własny akcesor zamiast używać syntezowanych akcesorów. –
Dobra uwaga. Dodałbym także, że prawie nigdy nie widzę obiektów, które reklamują właściwość 'NSMutableArray'. Purysta we mnie chciałby zobaczyć niestandardowy seter, który przechowuje zmienną kopię obiektu i niestandardowy getter, który zwraca autoreleased niezmienną kopię. –