添加数组对象不初始化

Add array object not init

我有一个方法可以从 JSON 初始化我的 class 对象。方法是这样的:

func getList (dic : Array<[String:AnyObject]>)  -> Array<Dog> {
    let dogs : NSMutableArray = NSMutableArray()
    for myDic in dic {
        let dog = Dog.init(dog: myDic)
        dogs.addObject(dog)
    }
    return NSArray(dogs) as! Array<Dog>
}

而且我可以毫无问题地在 tableview 上显示它。但是现在我想为列表分页。如果我再次 运行 方法 getList 它将初始化新对象并替换我的旧对象。如何向现有对象添加新对象。我不想用相同的 属性.

创建单独的对象

您需要添加一个您将追加到的成员变量。所以:

var dogs: [Dog] = []

然后像这样调用getList

dogs += getList(dic: myDic)

顺便说一下,您可以使 getList 方法更简单,如下所示:

func getList(dic: [[String: AnyObject]]) -> [Dog] {
  return dic.map(Dog.init)
}