在Swift中向Stringbase添加String数组的数组

时间:2018-01-08 16:05:16

标签: arrays swift firebase firebase-realtime-database

我有一个如下所示的人员:

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?

1 个答案:

答案 0 :(得分:0)

你错了基本概念。继承是关于将对象的基本特征分享给它的继承者(或者是os Swift的子类)。现实世界的例子:兔子是哺乳动物的继承人,哺乳动物的哺乳动物继承人。充满兔子的笼子绝对不是动物和兔子的继承人。但也许是家具的继承人。

https://en.wikipedia.org/wiki/Inheritance_(object-oriented_programming)

https://en.wikipedia.org/wiki/Object-oriented_programming

至于你的代码,你是对的,你必须按值存储它们。