我有一个如下所示的人员:
class Person {
var firstName: String
var lastName: String
var username: String
//var profileImage: UIImage
var imageURL: String
var phoneNum: String
init(firstName: String, lastName: String, username: String, imageURL: String, phoneNum: String) {
self.firstName = firstName
self.lastName = lastName
self.username = username
//self.profileImage = profileImage
self.imageURL = imageURL
self.phoneNum = phoneNum
}
}
然后我尝试将[Person]添加到firebase,类似如下:
databaseRef.setValue("people": [Person])
调试器然后吐出以下错误:
Can only store objects of type NSNumber, NSString, NSDictionary, and NSArray.'
我相信我在firebase范围内工作。 Person类是否继承自NSArray,因为它只不过是一个String Arrays数组?
如果没有,我是否必须分别添加[Person]数组的每个元素?类似的东西:
databaseRef.setValue(["firstName": [firstName],
["lastName": [lastName]...)
假设[firstName]& [lastName]的类型为String?
答案 0 :(得分:0)
你错了基本概念。继承是关于将对象的基本特征分享给它的继承者(或者是os Swift的子类)。现实世界的例子:兔子是哺乳动物的继承人,哺乳动物的哺乳动物继承人。充满兔子的笼子绝对不是动物和兔子的继承人。但也许是家具的继承人。
https://en.wikipedia.org/wiki/Inheritance_(object-oriented_programming)
https://en.wikipedia.org/wiki/Object-oriented_programming
至于你的代码,你是对的,你必须按值存储它们。