Я пытаюсь добавить элементы в словарь быстро, но ничего не вставляется. Пожалуйста, руководство

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

for index in 0..<classes.count{
                var classification = classes[index].className
                var score = classes[index].score
                //not working
                self.classificationDictionary[classification] = score

                //not working
                self.classificationDictionary[classes[index].className] = classes[index].score
            }

После закрытия это похоже на работу. Я не понимаю, как добавить значения в словарь.

classificationDictionary["abc"] = 131
        print("dictionary : ",classificationDictionary)
        print(classificationDictionary.count)

1 ответ

Попробуй это:

classificationDictionary.updateValue(classes[index].score, forKey: classes[index].className)

ваш код будет:

for index in 0..<classes.count{
                var classification = classes[index].className
                var score = classes[index].score
                classificationDictionary.updateValue(score, forKey: classification)

            }    

Например:

class ViewController: UIViewController {

    var classes = [
        AnyClass(name: "pizza", score: 2.0),
        AnyClass(name: "sushi", score: 3.0),
        AnyClass(name: "potatoe", score: 4.0)
    ]
    var classificationDictionary: [String: Double]!


    override func viewDidLoad() {
        super.viewDidLoad()
        any()
    }

    func any() {
        classificationDictionary = [String: Double]()
        for index in 0..<classes.count {
            if let name = classes[index].name, let score = classes[index].score {
                classificationDictionary.updateValue(score, forKey: name)
            }
            print(classificationDictionary)
        }
    }

}    

код пользовательского класса:

class AnyClass: NSObject {

    var name: String?
    var score: Double?

    init(name: String?, score: Double?) {
        if let name = name {
            self.name = name
        }
        if let score = score {
            self.score = score
        }
    }
}   

Результат: Скриншот

Другие вопросы по тегам