为什么我会收到有关NSMutableArray不兼容指针类型的警告?

时间:2011-11-02 19:51:22

标签: 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 个答案:

答案 0 :(得分:10)

componentsSeparatedByString:会返回NSArray,而非NSMutableArray。如果您想要可变变体,请将最后一行更改为:

homeData = [[[sectionString objectAtIndex:0] componentsSeparatedByString:@";"] mutableCopy];