Swift:阅读plist - 如何按键过滤并仅读取和追加值

时间:2017-09-18 22:27:20

标签: ios swift plist

Swift 3

我正在尝试读取一个plist文件来更新我的数组以进行集合视图。

我的menu.plist有6个我想要阅读的项目并附加到使用.count更新集合视图的数组中。

问题是我在排序字典时遇到问题。我想将值中的字符串追加到我的数组中,但是通过具有文本“Item 0”,“Item 1”等的键对传输进行排序。因为数组无组织,这使得在{上使用switch语句变得更加困难{1}}。

在代码中,我没有使用didSelectItemAt只将key附加到value数组但是它没有组织,我需要通过plist mainGroup

ViewDidLoad中的代码

key

的plist

pic 1

1 个答案:

答案 0 :(得分:1)

您需要对dict.keys数组进行排序,并按这些排序键对值进行访问

完整代码

var mainGroup = [String]()

    var myDict: [String:String]?
    if let path = Bundle.main.path(forResource: "menu", ofType: "plist") {
        myDict = NSDictionary(contentsOfFile: path) as? [String:String]
    }
    if let dict = myDict {

        print(dict)

        for key in dict.keys.sorted() {

            mainGroup.append(dict[key]!)
        }



        print(mainGroup)
    }

更新

使用数组作为@rmaddy说

enter image description here

    var mainGroup = [String]()

    var myArray: [String]?
    if let path = Bundle.main.path(forResource: "menu", ofType: "plist") {
        myArray = NSArray(contentsOfFile: path) as? [String]
    }

    print(myArray)