iPhone - 将NSString拆分为char NSStrings

时间:2011-03-19 20:55:44

标签: objective-c nsstring nsdictionary

我有一个2d NSArray {{“foo”,“仅限食物”},{“bar”,“婴儿是rad”}}}我需要最终得到2个NSArray:一个字符和一个相应的单词。所以@“f”,@“o”,@“b”,@“a”,@“r”和@“food”,@“only”,@“babies”,@“are”,@“rad”将是我的两个NSArray的NSStrings。

首先,如何从@“foo”获得@“f”,@“o”,@“o”

第二,我怎样才能保留唯一身份?我猜测NSDictionary只是添加,如果键没有给我@“f”:@“food”@“o”:@“only”然后使用getObjects:andKeys:得到两个C数组,我将转换为NSArrays ..

根据以下答案,我选择了以下内容。我实际上没有使用NSMutableDict,我只是在创建我的2个输出数组之前添加了我的字母以获得唯一性检查:

        unichar ch = [[arr objectAtIndex:0] characterAtIndex:i];
        NSString *s = [NSString stringWithCharacters: &ch length: 1];

        if (![dict objectForKey:s]) {
        }

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

如果您想要字符串的单个字符,请尝试-characterAtIndex:。这将使它们成为unichar原始类型,然后您可以将其包装在NSString中,如下所示:

unichar ch = ...;
NSString *chString = [NSString stringWithCharacters: &ch length: 1];

要保持唯一身份,您可以将对象存储在NSMutableSet中,但不会保留对象添加到其中的顺序。