基本上我有一组nsstring对象,如'A',L,L,A,H,A,B,A,D。 输出应该是NSDICTIONARY 0,3,5,7 FOR KEY A, 1,2 FOR KEY L 4 FOR KEY H 6 FOR KEY B 8 FOR KEY D。
答案 0 :(得分:0)
这是一个简单的for-in循环,看起来有点像这样:
- (NSDictionary*)dictionaryFromArrayOfStrings:(NSArray*)array {
int idx = 1;
NSMutableDictionary *retVal = @{}.mutableCopy;
for (NSString *char in array) {
//reverse them for a dictionary of NSNumbers for a set of NSString keys
[retVal setObject:char forKey:@(idx)];
idx++;
}
return retVal;
}
答案 1 :(得分:0)
你不能拥有一个具有键和值的数组(即关键字A的NSDictonary 0,3,5,7)..你可以使用NSDictionary来完成,如果你只有一组值,那么你也可以这样做。那么你应该使用一个数组
这是你应该做的:
NSDictionary* parent = [NSDictionary dictionaryWithObjectsAndKeys:[NSArray arrayWithObjects:@"A",@"L",@"L",@"A",@"H",@"A",@"B",@"A",@"D", nil], @"A", [NSDictionary dictionaryWithObjectsAndKeys:[NSArray arrayWithObjects:[[NSNumber numberWithInt:1], [NSNumber numberWithInt:2], nil]], @"L", [NSNUmber numberWithInt4], @"H", [NSNumber numberWithInt:6], @"B", [NSNumber numberWithInt:8], @"D",nil];