从 parse.com 检索数据时出错
Error while retrieving data from parse.com
你好,我想从我的 parse.com class 中获取一些数据 "Tags" 在这个 class 中有两个 3 列 "objectID","username" 和 "tagtext"。我想通过 ID 和后记读取记录我想将 "useername" 和 "tagtext" 保存到两个字符串中。我已经像 parse.com 文档中那样做了:
@IBAction func readAction(sender: UIButton) {
var query = PFQuery(className:"Tags")
query.getObjectInBackgroundWithId("IsRTwW1dHY") {
(gameScore: PFObject?, error: NSError?) -> Void in
if error == nil && gameScore != nil {
println(gameScore)
} else {
println(error)
}
}
let username = gameScore["username"] as! String
let tagtext = gameScore["tagtext"] as! String
println(username)
println(tagtext)
}
我收到一个名为 fatal error: unexpectedly found nil while unwrapping an Optional value
的错误,请告诉我我的代码有什么问题。
我的class:
问题是:
let username = gameScore["username"] as! String
let tagtext = gameScore["tagtext"] as! String
gameScore["username"]
和 gameScore["tagtext"]
可以 return nil 值,当你说 as! String
时,你说它将是一个字符串,它是 nil.
试试这样的:
let username = gameScore["username"] as? String
let tagtext = gameScore["tagtext"] as? String
你的错误就是因此而发生的,但你的最终代码应该是这样的:
@IBAction func readAction(sender: UIButton) {
var query = PFQuery(className:"Tags")
query.getObjectInBackgroundWithId("f3AXazT9JO") {
(gameScore: PFObject?, error: NSError?) -> Void in
let username = gameScore["username"] as? String
let tagtext = gameScore["tagtext"] as? String
println(username)
println(tagtext)
if error == nil && gameScore != nil {
println(gameScore)
} else {
println(error)
}
}
}
因为 getObjectInBackgroundWithId
是异步的。
您正在尝试从您的响应对象 gameScore
中读取,但它仍然是 nil
因为 getObjectInBackgroundWithId
是一个异步方法,这意味着它将 return 结果一次它完成了。将这两行放在处理程序中并从那里开始。
你好,我想从我的 parse.com class 中获取一些数据 "Tags" 在这个 class 中有两个 3 列 "objectID","username" 和 "tagtext"。我想通过 ID 和后记读取记录我想将 "useername" 和 "tagtext" 保存到两个字符串中。我已经像 parse.com 文档中那样做了:
@IBAction func readAction(sender: UIButton) {
var query = PFQuery(className:"Tags")
query.getObjectInBackgroundWithId("IsRTwW1dHY") {
(gameScore: PFObject?, error: NSError?) -> Void in
if error == nil && gameScore != nil {
println(gameScore)
} else {
println(error)
}
}
let username = gameScore["username"] as! String
let tagtext = gameScore["tagtext"] as! String
println(username)
println(tagtext)
}
我收到一个名为 fatal error: unexpectedly found nil while unwrapping an Optional value
的错误,请告诉我我的代码有什么问题。
我的class:
问题是:
let username = gameScore["username"] as! String
let tagtext = gameScore["tagtext"] as! String
gameScore["username"]
和 gameScore["tagtext"]
可以 return nil 值,当你说 as! String
时,你说它将是一个字符串,它是 nil.
试试这样的:
let username = gameScore["username"] as? String
let tagtext = gameScore["tagtext"] as? String
你的错误就是因此而发生的,但你的最终代码应该是这样的:
@IBAction func readAction(sender: UIButton) {
var query = PFQuery(className:"Tags")
query.getObjectInBackgroundWithId("f3AXazT9JO") {
(gameScore: PFObject?, error: NSError?) -> Void in
let username = gameScore["username"] as? String
let tagtext = gameScore["tagtext"] as? String
println(username)
println(tagtext)
if error == nil && gameScore != nil {
println(gameScore)
} else {
println(error)
}
}
}
因为 getObjectInBackgroundWithId
是异步的。
您正在尝试从您的响应对象 gameScore
中读取,但它仍然是 nil
因为 getObjectInBackgroundWithId
是一个异步方法,这意味着它将 return 结果一次它完成了。将这两行放在处理程序中并从那里开始。