有人可以帮我将下面的 Obj C 代码转换为 Swift 4 吗?
我正在尝试在 Swift 4
中使用 KeyEnumerator
。但它说 [AnyHashable: Any] 类型的值没有成员 keyEnumerator
- (NSString *)getParamsFromDictionary:(NSDictionary *)data encode:(BOOL)encode {
NSMutableString *params = [[NSMutableString alloc] init];
NSEnumerator *enumerator = [data keyEnumerator];
BOOL first = YES;
id key;
while ((key = [enumerator nextObject])) {
NSString *value = [data objectForKey:key];
if (first) [params appendFormat:@"%@=%@", key, value];
else [params appendFormat:@"&%@=%@", key, value];
first = NO;
}
return params;
}
最佳答案
要迭代字典,您可以简单地执行以下操作:
let dictionary = [
"first": 1,
"second": 2
]
for (key, value) in dictionary {
print("\(key)=\(value)")
}
或
dictionary.forEach { (key, value) in
print("\(key)=\(value)")
}
更具体地针对您的代码:
var first = true
for (key, value) in dictionary {
let prefix = first ? "" : "&"
let string = "\(prefix)\(key)=\(value)"
first = false
}
关于ios - 在 Swift 4 中使用 KeyEnumerators,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50269591/