我如何定义元素并将其附加到词典数组中

问题描述 投票:-2回答:1

我正在研究一个项目,该项目读取一个plist包含几行字典,一个名为countries的数组包含country。它附加到我的数组,

这是我的国家/地区定义

struct Country : Codable {
    let orFlagEmoji, destFlagEmoji, : String

    private enum CointryKeys : String, CodingKey { case orFlagEmoji,destFlagEmoji }
}

var countries = [Country]()

 override func viewDidLoad() 
 {
    super.viewDidLoad()

     let urlPlist = Bundle.main.url(forResource: "ListinFirstPage", withExtension: "plist")!
    let data = try! Data(contentsOf: urlPlist)


    do
    {
        countries = try PropertyListDecoder().decode([Country].self, from: data)
    }
    catch
    {
        // Handle error
        print(error)
    }


    //The problem is in two line bottom 

    var test = [TableViewController.Country(orFlagEmoji: "something", destFlagEmoji: "one thing")]



    countries.append(test)




 }

以及当我添加这两行时

var test = [TableViewController.Country(orFlagEmoji: "something", destFlagEmoji: "one thing")]

countries.append(test)

遇到此错误Cannot convert value of type '[TableViewController.Country]' to expected argument type 'TableViewController.Country',非常感谢您的帮助。谢谢

ios arrays swift dictionary plist
1个回答
2
投票

只需移除test周围的括号:

var test = TableViewController.Country(orFlagEmoji: "something", destFlagEmoji: "one thing")

countries.append(test)

或者,如果需要连接两个数组,请按照以下步骤进行操作:

var test = [TableViewController.Country(orFlagEmoji: "something", destFlagEmoji: "one thing")]

countries += test
© www.soinside.com 2019 - 2024. All rights reserved.