Swift3将值传递给类

时间:2017-06-06 12:33:28

标签: arrays swift3

我有一个快速的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时,我仍然得到相同的错误。

1 个答案:

答案 0 :(得分:0)

所以我注意到可以用正确的语法修复的几个问题。

首先,如果你有一个自定义对象,并且想要创建这些对象的数组,那么该数组的类型应 [在这样的方括号中] 。 假设我有一个名为 Friend 的对象,我想将其添加到数组中。我会像这样创建数组。

var arrayOfFriends: [Friend] = []

这会创建一个Friends对象数组,它当前为空。

要将元素添加到数组中,您需要在数组上使用.append实例方法。

let friend1 = Friend()
let friend2 = Friend()

arrayOfFriends.append(friend1)
arrayOfFriends.append(friend2)