是否可以增加一个字母,即在Objective-C中A + 1 = B?

时间:2011-01-08 01:35:09

标签: iphone objective-c nsstring char increment

我习惯用C或C ++来做这件事,即:

myChar++;

应该增加一个字母。

我试图在Objective-C中做同样的事情,除了我有一个NSString开始(NSString总是只有一个字母)。我已经尝试将NSString转换为char *,但是这种方法已被弃用,其他实现此方法似乎不起作用。

我应该如何将NSString转换为char * - 或者,有没有办法在objective-c中增加一个字符而不需要char *?

谢谢:)

2 个答案:

答案 0 :(得分:12)

// Get the first character as a UTF-16 (2-byte) character:
unichar c = [string characterAtIndex:0];
// Increment as usual:
c++;
// And to turn it into a 1-character string again:
[NSString stringWithCharacters:&c length:1];

当然,这假设增加Unicode字符是有意义的,这对于ASCII范围字符有效,但对其他字符可能不适用。

答案 1 :(得分:1)

NSString的

怎么样?
- (unichar)characterAtIndex:(NSUInteger)index;

那会有用吗?