如何从返回的 plist 数组中获取字符串

how to take string from returned plist array

当我尝试从 plist 中获取值并将其附加到数组时

nameArray.append(namesArray!.objectForKey("Item1")! as! String)

目标项目是一个字符串,但它似乎在 plist 数组中,请问谁能解释一下如何把它取出来?

打印namesArray!.objectForKey("Item1")!后面的错误如下图:

只取数组的第一个元素:

nameArray.append((namesArray!.objectForKey("Item1")! as! [String])[0])

将 "Item1" 键的值转换为字符串数组,然后从数组中获取第一个对象(因为看起来只有一个)。如果您喜欢您的应用程序不应在每次值为 nil 时崩溃的想法,最好使用 if let 而不是使用 ! 强制展开所有内容。

示例:

if let names = namesArray, 
    let items = names.objectForKey("Item1") as? [String], 
    let result = items.first {

    nameArray.append(result)
}