如何将UITextField的文本拆分为单个字符

时间:2012-05-11 13:30:14

标签: iphone objective-c ios5 uitextfield

我有一个UITextField,并假设此文本框中有5个字符,例如你好。

现在我想把这个词分成单个字符,即'h','e','l','l','o';

然后我该如何进行这种行动。

任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

首先从textfield获取字符串值:

NSString *text = myTextField.text;

然后你可以迭代每个角色:

NSUInteger len = [text length];
for (NSUInteger i = 0; i < len; i++)
{
    unichar c = [text characterAtIndex:i];
    // Do something with 'c'
}

答案 1 :(得分:0)

只需使用NSString方法UTF8String

const char *str = [textField.text UTF8String];

然后你有一个UTF8字符数组

注意:确保您对UTF8编码感到满意,即没有非标准字符

答案 2 :(得分:0)

我认为使用for循环是一个好主意,但要准确得到你的要求,请使用-getCharacters:range:。这是一个例子:

- (void)testGetCharsInRange
{
    NSString *text = @"This is a test string, will it work?";

    unichar *chars = calloc([text length], sizeof(unichar));
    [text getCharacters:chars range:NSMakeRange(0, [text length])];

    STAssertEquals(chars[[text length] - 1], (unichar)'?', nil);

    free(chars);
}