arrays - 在 Swift 中将字符串数组添加到 firebase

标签 arrays swift firebase firebase-realtime-database

我有一个 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/

相关文章:

ios - Swift 3 - 如何在特定日期设置本地通知

java - Android:从子集合中获取字段值

javascript - 用于引用中特定文本的 Firebase 监听器

iOS:在所有屏幕上显示相同质量的图像

java - Firebase Java Lang 内存不足错误 : GC overhead limit exceeded

python - 使用 'in' 关键字在列表中找到一个元素并返回该元素

javascript - 通过循环访问数组中对象的属性时,仅获取第一个元素

c++ - 在函数中获取排序数组和值并将该值放在正确的位置

c - 为什么我在用 C 填充字符数组时会得到额外的字符?

ios - didFinishLaunching 中的 UIApplicationShortcutItem