Как получить вложенное значение в файлах конфигурации XCode? - PullRequest
0 голосов
/ 15 марта 2019

Я пытаюсь получить определенное значение в моем файле конфигурации XCode.

enter image description here

Так что, если бы я должен был напечатать элемент 0 в примеревыше, я знаю, часть кода print(Bundle.main.infoDictionary["Fonts provided by application"]).Но потом, если я добавлю к этому ["Item 0"], это не сработает.

Как мне обойти это?И как мне это сделать, если клавиша "Fonts provided by application" имеет тип Dictionary?

Ответы [ 2 ]

0 голосов
/ 15 марта 2019
  1. У вас неправильный ключ. Это "UIAppFonts", а не "Fonts provided by application". Последний - просто дисплей, показанный в Xcode.
  2. Результатом Bundle.main.infoDictionary["UIAppFonts"] является массив, а не другой словарь. Таким образом, вы получаете доступ к каждому элементу массива так же, как и к любому другому массиву.

Пример:

if let fonts = Bundle.main.infoDictionary["UIAppFonts"] as? [String] {
    // List all of the fonts
    for font in fonts {
        print(font)
    }

    // Get the first font
    let font = fonts[0]
    // or more safely
    if let font = fonts.first {
    }
}
0 голосов
/ 15 марта 2019

Info.Plist - это словарь.Таким образом, для доступа к массиву шрифтов вы можете использовать

Bundle.main.infoDictionary["Fonts provided by application"]

Но для доступа к каждому элементу вам нужно использовать

(Bundle.main.infoDictionary["Fonts provided by application"] as? Array)?.startIndex
...