我有一个快速的viewcontroller - BulkGridCell,其中我有一个为数组设置的属性:
var arrGroup: Array = [AnyObject]()
我在另一个viewcontroller中实例化BulkGridCell,BulkProcessController:
for (index, value) in self.arrData.enumerated() {
//add each data cell
let gridCell = storyboard.instantiateViewController(withIdentifier: "bulkGridCell") as! BulkGridCell
resizeGridCell(vGridCell: gridCell.view, frameY: frameY, frameH:50.0)
gridCell.bIsHeader = false
gridCell.bIsDeleteProcess = bIsDelete
gridCell.buildCell()
self.svData.addSubview(gridCell.view)
//pass the data entity to data cell
gridCell.arrGroup.addObject(value)
当我尝试向数组arrGroup添加值时,我收到以下错误消息:
[AnyObject]的值没有成员addObject
我从Obj-C转到Swift所以这让我有点困惑,不是addObject是Array对象的一个方法,我不是试图从值上运行该方法。
任何帮助都将不胜感激。
编辑:如果有帮助,则值是核心数据实体。我正在阅读我可能必须将这些转换为AnyObject,但是当我尝试将值作为AnyObject时,我仍然得到相同的错误。
答案 0 :(得分:0)
所以我注意到可以用正确的语法修复的几个问题。
首先,如果你有一个自定义对象,并且想要创建这些对象的数组,那么该数组的类型应 [在这样的方括号中] 。 假设我有一个名为 Friend 的对象,我想将其添加到数组中。我会像这样创建数组。
var arrayOfFriends: [Friend] = []
这会创建一个Friends对象数组,它当前为空。
要将元素添加到数组中,您需要在数组上使用.append实例方法。
let friend1 = Friend()
let friend2 = Friend()
arrayOfFriends.append(friend1)
arrayOfFriends.append(friend2)