添加数组对象而不是init

时间:2016-11-10 09:12:29

标签: swift nsmutablearray

我有一个从JSON初始化我的类对象的方法。像这样的方法:

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,它将是init新对象并替换旧对象。如何添加新对象到现有。我不想用相同的属性创建单独的对象。

1 个答案:

答案 0 :(得分:1)

您需要添加要追加的成员变量。所以:

var dogs: [Dog] = []

然后像这样拨打getList

dogs += getList(dic: myDic)

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

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