How to iterate through the characters of an NSString

后端 未结 3 920
孤街浪徒
孤街浪徒 2021-01-11 16:04
NSString *myStrings = @\"abcdefghijklmnopqrstuvwxyz\";

How could I iterate each of the letters (a, b, c, d, e, etc..) in an Objective-C for

3条回答
  •  轻奢々
    轻奢々 (楼主)
    2021-01-11 16:25

    I would suggest to use getCharacters:range: instead. You get the raw unicode array with one object call and can iterate over the result. The output is the same, but it's faster.

    NSString *inputString = @"abcdefghijklmnopqrstuvwxyz";
    NSUInteger length = inputString.length;
    unichar buffer[length+1];
    // do not use @selector(getCharacters:) it's unsafe
    [inputString getCharacters:buffer range:NSMakeRange(0, length)];
    
    for(int i = 0; i < length; i++)
    {
        NSLog(@"%C", buffer[i]);
    }
    

提交回复
热议问题