Objective-C:在字符串索引处使用char初始化char

时间:2010-06-07 14:32:45

标签: objective-c

unichar myChar = [myString characterAtIndex:0];
[myNSMutableArray addObject:myChar];

我正在尝试将字符串的第一个char插入到数组中,以创建一个chars数组。第一行不会给我一个错误。但是,第二行提供了以下错误:warning: passing argument 1 of 'addObject:' makes pointer from integer without a cast

这也会导致应用程序出现“错误地址”错误。我认为这个错误是由于内存分配问题造成的。有人可以对此有所了解。

2 个答案:

答案 0 :(得分:5)

您只能将对象添加到数组中。 unichar是原始数据类型。你必须将它包装在NSNumber中。 unicharunsigned short,因此您可以使用:

[myNSMutableArray addObject:[NSNumber numberWithUnsignedShort:[myString characterAtIndex:0]]];

答案 1 :(得分:4)

一种选择是将字符作为字符串添加到数组中:

unichar myChar = [myString characterAtIndex:0];
NSString * charString = [NSString stringWithFormat:@"%c", myChar];
[myNSMutableArray addObject:charString];

请注意,这可能有点过头了。