【问题标题】:Swift 2: Writing to plist with multidimensional objectsSwift 2:使用多维对象写入 plist
【发布时间】:2016-01-01 20:52:37
【问题描述】:

我是 Swift 的新手,我已经尝试了很长时间,但我遇到了无法克服的编译错误。

我正在尝试写入包含多维数组对象的 plist。

我需要在 plist 的内部数组中添加一个数组。

plist如下:

我正在尝试填充 plist 的最内部数组,如下所示:

我正在尝试在ITEM 5 下添加ITEM 2

我正在使用此代码:

notesArray.objectAtIndex(0).objectAtIndex(5).addObject("AA","BB","CC","DD")

编译器给我以下错误:

不能调用非函数类型的值'((AnyObject) -> Void)!'

如何直接从代码中填充父数组中的数组?

【问题讨论】:

    标签: arrays object swift2 plist


    【解决方案1】:

    由于 Swift 数组的值语义,您必须将所有更改重新分配给它们的父对象

    这是初始数组

    var array : [AnyObject] = [["OZEN PIZZA", "PIZZA", "15", "20", "tariffoto1", [["Biber","2", "Adet", "11"]]]]
    

    获取数组索引0处的根数组

    var rootArray = array[0] as! [AnyObject]
    

    获取rootArray索引5处的数组

    var item5Array = rootArray[5] as! [[String]]
    

    追加项目

    item5Array.append(["AA","BB","CC","DD"])
    

    item5Array 重新分配给rootArray 的索引5

    rootArray[5] = item5Array
    

    rootArray重新分配给数组的索引0

    array[0] = rootArray
    

    【讨论】:

    • 您好,我会尝试并尽快回复您。非常感谢楼主
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多