如何搜索目录目录?

时间:2016-02-15 21:48:56

标签: ios swift dictionary nsdictionary

这是目录(原始plist形式):

Directory to be searched

我想做的是:

func getTaxWithZip(zip: Int) {
    let path = NSBundle.mainBundle().pathForResource("NCZipCode", ofType: "plist")
    let pLData = NSDictionary(contentsOfFile: path!)
    let dict = pLData as! Dictionary<String, NSDictionary>
    for dict2 in dict {
        for item in dict2 {

        }
    }
}

我在for item in dict2上收到此错误:

Type '(String, NSDictionary)' does not conform to protocol 'SequenceType'

如果我尝试将其更改为字典,我会收到此错误:

Cast from '(String, NSDictionary)' to unrelated type 'Dictionary<String, NSDictionary>' always fails

目标是查询plist键“ZipCode”以获取邮政编码。

我能够成功地让'pLData = NSDictionary(contentsOfFile:path!)'成功,所以访问plist没有任何问题。

1 个答案:

答案 0 :(得分:1)

首先看看这一行

let dict = pLData as! Dictionary<String, NSDictionary>

哪个给你一个Dictionary<String, NSDictionary>,它没有问题

然后是第一个for-loop

for dict2 in dict {
    ...
}

当你通过dict循环时,每个元素dict2实际上是一个元组(String, Dictionary)

然后你的第二个for-loop试图循环一个不是SequenceType的元组

您需要做什么:

for (str, dict2) in dict {
    for item in dict2 {

    }
}

或者

for dict2 in dict {
    for item in dict2.1 {

    }
}