Использование KeyEnumerators в. Swift 4 - PullRequest
0 голосов
/ 10 мая 2018

Может кто-нибудь, пожалуйста, помогите мне преобразовать ниже код Obj C в Swift 4.

Я пытаюсь использовать KeyEnumerator в Swift 4. Но он говорит, что значение типа [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;

}

1 Ответ

0 голосов
/ 10 мая 2018

Чтобы перебрать словарь, вы можете просто сделать:

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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...