#objective-c #nsmutablearray
#objective-c #nsmutablearray
Вопрос:
Я получаю простую текстовую строку на своем 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:
componentsSeparatedByString:
возвращает an NSArray
, а не an NSMutableArray
. Если вам нужен изменяемый вариант, измените последнюю строку на:
homeData = [[[sectionString objectAtIndex:0] componentsSeparatedByString:@";"] mutableCopy];