Знаете ли вы имена изображений сами? Я имею в виду, вы сами загружаете изображения в Assets.xcassets или добавляете их программно?
Если вы это сделаете, вы можете создать словарь и добавить имена изображений вручную или в коде или программно каждый раз, когда изображение добавляется в Assetts.xcassets.
imageDict = [category: [animalType]] для двумерного диктанта.
Получите доступ к нему следующим образом
import UIKit
var NaturePicsDict: [String : [String]] = ["cats":["Lion", "Tiger", "Panther"],
"Birds": ["Hawk", "Parrot", "Sparrow", "Blackbird"]
]
//create an array of animal names for each category and then construct the full image file name from the category:animal using string concatination.
var animalsForCategory:[String] = []
for category in NaturePicsDict.keys {
print("key = \(category) animal =" ,NaturePicsDict[category]!)
let animals = NaturePicsDict[category]!
for animalName in animals {
let imageName: String = "\(category)_\(animalName)"
print("imageName = \(imageName)")
}
}
извините за все правки. Я учусь пользоваться этим сайтом. Во всяком случае, вывод из моего фрагмента кода:
key = cats animal = ["Lion", "Tiger", "Panther"]
imageName = cats_Lion
imageName = cats_Tiger
imageName = cats_Panther
key = Birds animal = ["Hawk", "Parrot", "Sparrow", "Blackbird"]
imageName = Birds_Hawk
imageName = Birds_Parrot
imageName = Birds_Sparrow
imageName = Birds_Blackbird
Надеюсь, это поможет. Я только что использовал 3D-словарь в приложении, которое я пишу, и нашел его очень компактным способом хранения и доступа к детализации.