我有一个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]) {
}
答案 0 :(得分:1)
getCharacters将为您提供一系列字符:http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html#//apple_ref/occ/instm/NSString/getCharacters:
您可以在
之后循环并检查唯一身份答案 1 :(得分:0)
如果您想要字符串的单个字符,请尝试-characterAtIndex:
。这将使它们成为unichar
原始类型,然后您可以将其包装在NSString
中,如下所示:
unichar ch = ...;
NSString *chString = [NSString stringWithCharacters: &ch length: 1];
要保持唯一身份,您可以将对象存储在NSMutableSet
中,但不会保留对象添加到其中的顺序。