我有2个类,我在AnimalClass中有cat对象,我正在解析jSON,我想从jSON初始化猫的名字
class AnimalClass: NSObject {
var cats = [catClass]()
.....
}
和
class catClass: NSObject {
var name : String = ""
init(data : NSDictionary)
{
if let add = data["name"] as? String
{
self.name = add
}
这里我试图在ViewController.swift中初始化它
var animals = [AnimalClass]()
for(var i = 0; i < data_array.count; i++)
{
if let add = data_array[i] as? NSDictionary
{
self.animals.append(AnimalClass(data: add)) // this works
self.animals.cats.append(AnimalClass(data: add)) // this doesn't work
}
}
我的问题是这行self.animals.cats.append(AnimalClass(data: add))
如何附加到AnimalClass中的cat对象。
答案 0 :(得分:0)
您无法将AnimalClass
附加到猫身上,因为猫是catClass
个对象的数组。你宣布它是这样的:
var cats = [catClass]()
这就是为什么下面的代码无法运行的原因。
self.animals.cats.append(AnimalClass(data: add))
所以你应该把它改成:
self.animals.cats.append(catClass(data: add))
此外,Swift中的类名应以大写字母开头,我建议您将catClass
重命名为Cat
(同时删除Class
后缀)
答案 1 :(得分:0)
您需要为您的猫类使用init。
更改行:
self.animals.cats.append(AnimalClass(data: add))
为:
self.animals.cats.append(CatClass(data: add))