Swift 2:使用多维对象写入 plist
Posted
技术标签:
【中文标题】Swift 2:使用多维对象写入 plist【英文标题】:Swift 2: Writing to plist with multidimensional objects 【发布时间】: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)!'
如何直接从代码中填充父数组中的数组?
【问题讨论】:
【参考方案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
【讨论】:
您好,我会尝试并尽快回复您。非常感谢楼主以上是关于Swift 2:使用多维对象写入 plist的主要内容,如果未能解决你的问题,请参考以下文章