Почему я получаю предупреждение о несовместимом типе указателя NSMutableArray? - PullRequest
2 голосов
/ 02 ноября 2011

Я получаю простую текстовую строку на своем iPad и пытаюсь просто разобрать ее в табличное представление, но получаю следующее предупреждение:

"Incompatible pointer type assigning to 'NSMutableArray*' from 'NSArray'"

Итак, controller.h

NSMutableArray *homeData;
@property (nonatomic, retain) NSMutableArray *homeData;

затем, controller.m

@synthesize homeData;

, за которым следует

[searchData appendData:data];
NSString *searchString = [[NSString alloc] initWithData:searchData encoding:NSUTF8StringEncoding];
NSArray *sectionString = [searchString componentsSeparatedByString:@";;"];
homeData = [[[sectionString objectAtIndex:0] componentsSeparatedByString:@";"] retain];

(data = 'no_home;;no_locl;;no_natl;;9:CHardaker;;')

В обычных условиях строка будет содержать список номеров индексов и сокращенных имен, до 100.

Я получаю предупреждение в последней строке homeData.Я ожидаю, что homeData objectAtIndex:0 должно быть no_home, однако это не так, и это единственная проблема, нерешенная при выполнении.

1 Ответ

10 голосов
/ 02 ноября 2011

componentsSeparatedByString: возвращает NSArray, а не NSMutableArray. Если вы хотите изменчивый вариант, измените последнюю строку на:

homeData = [[[sectionString objectAtIndex:0] componentsSeparatedByString:@";"] mutableCopy];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...