T M*_*T M 2 closures firebase swift firebase-realtime-database
我正在尝试将FIRDataSnapshot转换为自定义类型(即我知道每个孩子都有姓名,号码和电子邮件)
当我运行下面的代码时,一个JSON树与每个包含名称,数字和电子邮件的子项打印到控制台.
所以我想将快照存储为具有每个属性的自定义类型"PersonInfo".这样我可以在我的应用程序中更改此数据.我需要使用"PersonInfo"变量将这些数据存储到我的应用程序的各个部分.
ref.observeSingleEventOfType(.Value, withBlock: { (snapshot: FIRDataSnapshot) in
print(snapshot)
})
Run Code Online (Sandbox Code Playgroud)
tri*_*Ant 10
您可以定义将充当模型的自定义类PersonInfo.
class PersonInfo: NSObject {
var pName: String
var pNumber :String
var pEmail: String
let ref: FIRDatabaseReference?
init( name: String, number: String, email: String) {
self.pName = name
self.pNumber = number
self.pEmail = email
self.ref = nil
}
init(snapshot: FIRDataSnapshot) {
pName = snapshot.value!["pName"] as! String
pNumber = snapshot.value!["pNumber"] as! String
pEmail = snapshot.value!["pEmail"] as! String
ref = snapshot.ref
}
convenience override init() {
self.init(name:"",number: "", email: "")
}
}
Run Code Online (Sandbox Code Playgroud)
和你的里面observeSingleEventOfType,当你有snapshot,你可以遍历其子和提取每个人如下:
for item in snapshot.children{
var person = PersonInfo(snapshot:item);
yourList.append(person);
}
Run Code Online (Sandbox Code Playgroud)
因此,您将拥有一个PersonInfo可以在以后访问的模型对象列表.
| 归档时间: |
|
| 查看次数: |
2696 次 |
| 最近记录: |