从 属性 个列表中检索数据
Retrieving data from property lists
我有一个 plist 数据,包含 dictionaries
的 array
,我想获取所有字典的第一个值,即 english
let path = Bundle.main.path(forResource:"idictionary", ofType: "plist")
let plistData = NSArray(contentsOfFile: path!)
print(plistData![0]) // only gets the first one
打印print(plistData![0])
只会在日志中显示
{
english = abbey;
kurdi = "\U06a9\U0644\U06ce\U0633\U06d5";
}
但我想打印所有 dictionaries
英文值
这是我的 plist 的 picture
我有一堆记录,并试图获取每一项的 english
值
你需要遍历数组
for item in plistData {
print(item)
}
首先,以现代方式加载数据 (Swift 4):声明一个结构:
struct Word : Decodable { let english:String; let kurdi:String }
将数据加载到该结构的数组中:
let url = Bundle.main.url(forResource:"idictionary", withExtension: "plist")!
let data = try! Data.init(contentsOf: url)
let array = try! PropertyListDecoder().decode([Word].self, from: data)
现在你有了一个 Word 数组,其中每个 Word 都有一个 english
属性。如果您只想要英文,请映射数组:
let englishArray = array.map{[=12=].english}
我有一个 plist 数据,包含 dictionaries
的 array
,我想获取所有字典的第一个值,即 english
let path = Bundle.main.path(forResource:"idictionary", ofType: "plist")
let plistData = NSArray(contentsOfFile: path!)
print(plistData![0]) // only gets the first one
打印print(plistData![0])
只会在日志中显示
{
english = abbey;
kurdi = "\U06a9\U0644\U06ce\U0633\U06d5";
}
但我想打印所有 dictionaries
英文值
这是我的 plist 的 picture
我有一堆记录,并试图获取每一项的 english
值
你需要遍历数组
for item in plistData {
print(item)
}
首先,以现代方式加载数据 (Swift 4):声明一个结构:
struct Word : Decodable { let english:String; let kurdi:String }
将数据加载到该结构的数组中:
let url = Bundle.main.url(forResource:"idictionary", withExtension: "plist")!
let data = try! Data.init(contentsOf: url)
let array = try! PropertyListDecoder().decode([Word].self, from: data)
现在你有了一个 Word 数组,其中每个 Word 都有一个 english
属性。如果您只想要英文,请映射数组:
let englishArray = array.map{[=12=].english}