添加数组对象不初始化
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)
}
我有一个方法可以从 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)
}