从视图控制器中的单元访问Firebase数据
我目前有一个图片,三个UILabels和一个单元格中的TextView,并希望在一个单独的视图控制器中使用该数据。 视图控制器目前通过push segue连接到单元格,我该怎么做才能做到这一点?
我有这个,但它不起作用:
let uid = FIRAuth.auth()?.currentUser?.uid FIRDatabase.database().reference().child("users").child(uid!).observeSingleEvent(of: .value, with: { (snapshot) in if let dictionary = snapshot.value as? [String: AnyObject] { self.userLabel.text = dictionary["username"] as? String } })
将typesDictionary的存储variables添加到源VC和目标VC:var userdata:Dictionary! 或者你可以初始化一个空字典let userdata = String:Any
然后,将快照转换为字典后,将源VC用户数据设置为字典数据并执行search
if let dictionary = snapshot.value as? [String: AnyObject] { self.userLabel.text = dictionary["username"] as? String self.userdata = dictionary self.performSegue(withIdentifier: "<segueIDHere>", sender: self) }
然后在源VC中实现VC准备segue方法来传递数据:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if segue.identifier == "<segueIDHere>" { let destinationVC = segue.destination as! <ClassNameofVCHere> destinationVC.userdata = self.userdata } }
我实际上能够find一种方法来做到这一点。 实际上这很简单
prepareForSegue
override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if segue.identifier == "showDetails" { if let indexPath = self.postsTableView.indexPathForSelectedRow { let post = posts[indexPath.row] as! [String: AnyObject] let postDetails = post["postID"] as? String let controller = segue.destination as! PostDetailsViewController controller.postDetails = postDetails } } }
PostDetailsViewController
var postDetails: String? override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. FIRDatabase.database().reference().child("posts").child(postDetails!).observeSingleEvent(of: .value, with: { (snapshot) in if let dictionary = snapshot.value as? [String: AnyObject] { self.idLabel.text = dictionary["postID"] as? String } }) }
- iOS中有没有任何方法可以从CTCoreAccount或CocoreFolder的Mailcore库中获取特定关键字的CTCoreMessage?
- IOS – 如何添加一个标签栏导航控制器(主细节模板)?
- (setValue :)不能在pictureURL中存储_SwiftValuetypes的对象。 只能存储NSNumber,NSString,NSDictionary和NSArraytypes的对象
- 实况video如何从iOS设备stream式传输到服务器?
- 使用AFNetworking加载离线caching的JSON
- Datepickerselect错误的date
- 如何从Swift 2中的string中删除特殊字符?
- Swift中的base64EncodedStringWithOptions失败并出现编译错误
- Swift Firebase按距离sorting
- 在函数中作为参数供select器使用,以快捷方式传递闭包
- UIView图层上的阴影