Swift 3 — Как получить доступ к списку свойств

#ios #dictionary #properties #swift3 #plist

#iOS #словарь #свойства #swift3 #список

Вопрос:

Это из списка свойств, который я создал: список свойств

Я хочу загрузить только названия стран в массив. Вот код, который у меня есть на данный момент…

 if let path = Bundle.main.path(forResource: "flagData", ofType: "plist") {
    dict = NSMutableDictionary(contentsOfFile: path)

    let currentGroup = (dict!["caribbean"] as AnyObject).allKeys as? [String]
}
 

Но это не работает — когда я его запускаю, currentGroup = nil

Я также пытался:

 let currentGroup = dict?.allKeys(for: "caribbean")  
 

Но это дает мне пустой массив.

Любые идеи будут оценены… Спасибо!

Комментарии:

1. Что о dict себе. Это ноль или он действительно содержит данные?

2. Если dict нет nil , войдите dict.allKeys в систему. Включает ли он ключ "caribbean" ?

3. dict действительно содержит данные, а dict.allKeys включает «карибский бассейн»

Ответ №1:

         if let path = Bundle.main.path(forResource: "flagData", ofType: "plist"),
            let configurations = NSDictionary(contentsOfFile: path) {
                variables = configurations[currentConfiguration] as! NSDictionary
        }
 

Попробуйте приведенный выше код и внесите соответствующие изменения я думаю, что ошибка в вашем коде возникает, когда вы приводите его к сбою.

Комментарии:

1. Именно в приведении была проблема! Я попробовал AnyObject и [String:AnyObject], которые, как я думал, охватывали все основы, но, очевидно, нет. Спасибо!