Для добавления цикла для каждого цикла при запуске, а не только один раз в течение его итерации - PullRequest
0 голосов
/ 24 ноября 2018

Я пытаюсь добавить ключ / значения к некоторым массивам по одному разу.Таким образом, мой результат должен быть единичным вхождением каждой пары ключ / значение в моем массиве.Однако после каждой итерации добавляется пара ключ / значение, а затем итерация перезапускается снова в начале, снова добавляя пару ключ / значение.

Как сделать так, чтобы она добавляла только каждый ключ / значениепару раз?

import UIKit
import PlaygroundSupport

var usernameScoreDict : [String:String] = ["erer":"eree", "veev":"veve", "tbtt":"bttbt", "umum":"muumu", "bvbv":"bbbcb"]

var unArray = [String]()
var hsArray = [String]()

class MyViewController : UIViewController {
    override func loadView() {
        let view = UIView()
        view.backgroundColor = .white

        usernameScoreDict.forEach { (key,value) in
            print("key is - \(key) and value is - \(value)")
            unArray.append(key)
            hsArray.append(value)
        }
    }
}

Ответы [ 2 ]

0 голосов
/ 24 ноября 2018

Вы можете напрямую создавать массивы ключей и значений из словаря

let keysArray = [String](usernameScoreDict.keys)
let valuessArray = [String](usernameScoreDict.values)
0 голосов
/ 24 ноября 2018

Вы можете использовать цикл for следующим образом: -

for (key, val) in usernameScoreDict{
    unArray.append(key)
    hsArray.append(value)
}

После этого вы можете удалить повторное значение, если оно есть (как я думаю, это не произойдет), используя set: -

unArray = (Array(Set(unArray)))
hsArray = (Array(Set(hsArray)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...