Swift 3 - 按数组索引访问项目键值



嗨,我试图访问我的plist中腿数组中的项目我希望能够从这个 plist 的腿数组中获取 key = "title" 的值

我已经有了从名为abs的字典中获取值的方法,即以下代码

let path = Bundle.main.path(forResource:"Exercise", ofType: "plist")
let dict:NSDictionary = NSDictionary(contentsOfFile: path!)!
if (dict.object(forKey: "levels") != nil) {
    if let levelDict:[String : Any] = dict.object(forKey: "levels") as? [String : Any] {
        for (key, value) in levelDict {
            if ( key == "something") {                    
                     print(value)
            }
        }
    }
}

但是我不知道如何访问 legs 数组以获取项目标题

在到达 legs 数组时,该数组在您的情况下属于 [[String:String]] 类型,具有三个元素,每个索引具有两个键对值。您可以遍历该索引并获取您的值,然后迭代到其他索引。

let yourLegsArray:AnyObject = dict.object(forKey: "legs")! as AnyObject

然后遍历yourLegsArray并获取Dict的内部值。

所以我设法找到了我最初问题的答案

    let path = Bundle.main.path(forResource: "Exercise", ofType: "plist")
    let dict = NSDictionary(contentsOfFile: path!)!
    let levelArray:AnyObject = dict.object(forKey: "legs")! as AnyObject
    if let nsArray:NSArray = levelArray as? NSArray{
        var levelDict:AnyObject = nsArray[1] as AnyObject //currentLevel is an Int
        //then finally I could get data from a dictionary in the array
        let Title = levelDict["title"] as AnyObject? as! String
        print(Title)
    }

所以现在这将打印腿数组中的第二个项目,即"腿 2">

最新更新