unichar myChar = [myString characterAtIndex:0];
[myNSMutableArray addObject:myChar];
我正在尝试将字符串的第一个char插入到数组中,以创建一个chars数组。第一行不会给我一个错误。但是,第二行提供了以下错误:warning: passing argument 1 of 'addObject:' makes pointer from integer without a cast
这也会导致应用程序出现“错误地址”错误。我认为这个错误是由于内存分配问题造成的。有人可以对此有所了解。
答案 0 :(得分:5)
您只能将对象添加到数组中。 unichar
是原始数据类型。你必须将它包装在NSNumber
中。 unichar
是unsigned short
,因此您可以使用:
[myNSMutableArray addObject:[NSNumber numberWithUnsignedShort:[myString characterAtIndex:0]]];
答案 1 :(得分:4)
一种选择是将字符作为字符串添加到数组中:
unichar myChar = [myString characterAtIndex:0];
NSString * charString = [NSString stringWithFormat:@"%c", myChar];
[myNSMutableArray addObject:charString];
请注意,这可能有点过头了。