- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有一个 NSString
方法 -characterAtIndex:
返回一个 unichar。
- (unichar)characterAtIndex:(NSUInteger)index
我想知道这个显然不是 NSString
的 unichar 是否可以转换为 NSString
或馈送到 NSString
进行比较目的?
并且:NSString
内部是否仅由 unichar 项数组组成?
最佳答案
你有两个选择:第一个是向 NSString 添加 stringWithUnichar 方法的类别:
@interface NSString (MNNSStringWithUnichar)
+ (NSString *) stringWithUnichar: (unichar) value;
@end
@implementation NSString (MNNSStringWithUnichar)
+ (NSString *) stringWithUnichar:(unichar) value {
NSString *str = [NSString stringWithFormat: @"%C", value];
return str;
}
@end
然后调用它
NSString *otherString = @"TestString";
NSString *str = [NSString stringWithUnichar:[otherString characterAtIndex:1]];
或者你可以直接这样:
NSString *str = [NSString stringWithFormat:@"%C",[otherString characterAtIndex:1]];
如果您想重复使用该类别,或者只需使用一次,请使用 stringWithFormat 示例!!
不确定 NSString 的内部结构,但我猜它可能正在包装一个
unichar *
或 unichar 数组(如 C char *)
unichar 只是一个用于存储字符的 16 位值。与只有 8 位的 unsigned char 不同,它可以容纳 0-255 以上的数字,因此它也可以容纳 16 位的 unicode 字符。 NSString 是一个包含 unichar 数组的类(簇)
编辑
以下是一些关于人们对 NSString 的看法的文章:
http://cocoawithlove.com/2008/08/string-philosophies-char-arrays.html
http://www.reddit.com/r/programming/comments/6v1yw/string_philosophies_char_arrays_stdstring_and/
关于iphone - unichar 和 NSString - 它们的互换性如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1354388/
假设我有两个名为Student和Employee的结构(或类),并且Student和Employee具有完全相同的成员。 我的问题是,为什么我不能执行以下操作: Student s; Employee
这个问题已经有答案了: 已关闭10 年前。 Possible Duplicate: Hashset vs Treeset 你可以使用 HashSet和TreeSet可以互换吗?如果我交换TreeSet
页面上有一个值为“button1”的按钮。当按下时,它必须删除自身并添加值为“button2”的新按钮。当按下“button2”时,它必须删除自身并添加“button1”回来。有点无限循环。 我知道只
以下模板 template int compute(Data d, Number n) { if(n > 10) SLOW(d) if(n (data)模板。除了代码重复,comput
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 8 年前。 Improve this qu
我是一名优秀的程序员,十分优秀!