gpt4 book ai didi

ios - 从 Parse iOS 检索对象

转载 作者:行者123 更新时间:2023-11-28 19:54:34 25 4
gpt4 key购买 nike

我是编程新手,正在尝试使用 Swift 开发 iOS 应用。但是,我在尝试从 Parse 检索以前保存的信息以在我的应用程序中使用时遇到了问题。

为了保存我使用以下代码的信息:

    var user = PFUser.currentUser()

var number = self.phoneNumber.text as String
var insta = self.instagramUsername.text as String
var snapp = self.snapchatName.text as String
var twitter = self.twitterHandle.text as String
var bio = self.profileBio.text as String

var socialData = PFObject(className: "socialData")

socialData["phoneNumber"] = number
socialData["instagram"] = insta
socialData["snapchat"] = snapp
socialData["twitter"] = twitter
socialData["bio"] = bio
socialData["user"] = user

socialData.save()

这会正确地保存 Parse 上的信息,但是当我尝试检索 Instagram 名称或其他任何专门使用查询的信息时,我会收到错误消息。以下是我一直试图检索它的方式:

    var user = PFUser.currentUser()

var query = PFQuery(className:"socialData")
query.whereKey("user", equalTo: user)
query.findObjectsInBackgroundWithBlock {
(objects: [AnyObject]!, error: NSError!) -> Void in
if error == nil {
// The find succeeded.

// Do something with the found objects

var socialData = PFObject(className: "socialData")


let instaUsername = socialData["instagram"] as String

println(instaUsername)


} else {
// Log details of the failure
NSLog("Error: %@ %@", error, error.userInfo!)
}
}

日志显示 fatal error :在展开可选值时意外发现 nil。应用程序崩溃后。然而,信息正确显示在 Parse 上。非常感谢任何帮助,谢谢!

最佳答案

完全删除 findObjectsInBackgroundWithBlock block 中的这一行:

var socialData = PFObject(className: "socialData")

并替换这一行:

let instaUsername = socialData["instagram"] as String

用这个:

let instaUsername = objects[0]["instagram"] as String

所以您实际上是在利用从查询中检索到的对象数组,访问与当前用户匹配的第一个对象,然后从该 PFObject 字典中获取“instagram”键的存储值。

关于ios - 从 Parse iOS 检索对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27220080/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com