unichar myChar = [myString characterAtIndex:0];
[myNSMutableArray addObject:myChar];
我试图将字符串的第一个字符插入数组,以创建一个字符数组。第一行没有给我错误。然而,第二行提供了以下错误:warning: passing argument 1 of 'addObject:' makes pointer from integer without a cast
这也会使应用程序崩溃并出现“地址错误”错误。我认为这个错误是由于内存分配问题造成的。有人可以阐明这一点。
最佳答案
您只能将对象添加到数组中。 unichar
是原始数据类型。您必须将其包装在 NSNumber
中。 unichar
是一个unsigned short
,因此您可以使用:
[myNSMutableArray addObject:[NSNumber numberWithUnsignedShort:[myString characterAtIndex:0]]];
关于Objective-C:在字符串索引处使用 char 初始化 char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2990382/