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

标签 objective-c

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/

相关文章:

objective-c - NSSplitView 中的 NSOpenGLView

ios - 限制 UIButton 沿 UIBezierPath 路径的移动

ios - 按住按钮时如何移动 UIImage?

ios - 添加约束使应用程序崩溃

iphone - NSString 与\0

ios - 处理自动合成的属性时如何使用dealloc?

ios - 使用 C 数组的对象的深拷贝

objective-c - 在 NSView 中滚动 NSString

objective-c - 填充抗锯齿 poly cocos2d

.net - SHA1哈希在Objective-C和C#.NET中产生不同的结果