Arrays SWIFT:从结构数组中删除项
我有一个结构数组,现在我想创建允许我按索引路径删除结构的功能。我知道结构是不可变的,所以有没有关于如何解决这个问题的建议 我用来解决这个问题的代码行是:Arrays SWIFT:从结构数组中删除项,arrays,swift,struct,Arrays,Swift,Struct,我有一个结构数组,现在我想创建允许我按索引路径删除结构的功能。我知道结构是不可变的,所以有没有关于如何解决这个问题的建议 我用来解决这个问题的代码行是: arrayOfStruct.removeAtIndex(index) 这导致了错误:“[Struct]”类型的不可变值只有名为“removeAtIndex”的变异成员 [澄清编辑] arrayOfStruct在此类中声明为: var arrayOfStruct: [Struct] { return (UIApplication.sha
arrayOfStruct.removeAtIndex(index)
这导致了错误:“[Struct]”类型的不可变值只有名为“removeAtIndex”的变异成员
[澄清编辑]
arrayOfStruct在此类中声明为:
var arrayOfStruct: [Struct] {
return (UIApplication.sharedApplication().delegate as! AppDelegate).arrayOfStruct
}
您已将AppDelegate
memes
属性的访问器声明为计算属性。请阅读Swift规范——计算属性实际上是只读的
但是,只读类引用可以用作内部可写结构的直通方式
可能您正试图创建一个不那么冗长的访问器。您的快捷方式必须是:
MemeMe/MemeTableViewController.swift,第14-16行:
var appDel: AppDelegate {
return (UIApplication.sharedApplication().delegate as! AppDelegate)
}
然后在替换为self.appDel.memes
之前,您曾经拥有的self.memes
:
MemeMe/MemeTableViewController.swift,第31-33行:
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return appDel.memes.count
}
这很可能意味着
arrayOfStruct
被声明为一个常量,使用let
而不是var
。我认为这也是问题所在,但它被声明为:var arrayOfStructs=[structClass](),那么需要一个最小的(!)自包含示例来展示这个问题。。。,数组是在appDelegate文件中声明的,我希望从该文件中删除一项array@OctavioAntonioCede尼诺:我不想听起来粗鲁,但我想我现在已经说了我认为应该做什么。现在轮到你用必要的信息更新问题,而不是在私人线程中讨论它。