我有一个 Person 类,如下所示:
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 吗,因为它只不过是一个字符串数组的数组?
如果没有,我是否必须单独添加 [Person] 数组的每个元素?类似于:
databaseRef.setValue(["firstName": [firstName],
["lastName": [lastName]...)
假设 [firstName] 和 [lastName] 是字符串类型?
最佳答案
你的基本概念是错误的。继承是指将对象的基本特征共享给其继承者(或 Swift 中的子类)。现实世界的例子:兔子是哺乳动物的继承人,哺乳动物是动物的继承人。装满兔子的笼子绝对不是动物或兔子的继承人。但也许是家具的继承人。
https://en.wikipedia.org/wiki/Inheritance_(object-oriented_programming)
https://en.wikipedia.org/wiki/Object-oriented_programming
至于您的代码,您是对的,您必须按值存储它们。
关于arrays - 在 Swift 中将字符串数组添加到 firebase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48153939/