S. *_*rti 6 thread-safety ios parse-platform swift
我想将用户名设置为标签,因为我的块("findObjectsInBackgroundWithBlock")需要时间来完成,而label.text设置为nil.
完成块后如何设置标签文本?
class test {
var userName: String? // variable to access user name returned by block
private func loadData() {
getCurrentUser()
lblUserName.text = userName
}
}
Run Code Online (Sandbox Code Playgroud)
这是我从Parse获取用户数据的块.
private func getCurrentUser() {
if PFUser.currentUser() != nil {
currentUser = PFUser.currentUser()?.username
let query = PFQuery(className: "_User")
query.whereKey("username", equalTo: currentUser!)
query.findObjectsInBackgroundWithBlock { (currentUsers, error) -> Void in
if error == nil {
for user in currentUsers! {
userName = user["name"] as? String
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
您可以在这里使用属性观察器,如下所示:
var userName: String? {
didset {
if let name = username {
lblUserName.text = name
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
754 次 |
最近记录: |