如何访问Parse用户(PFUser)对象的其余字段?

时间:2015-04-26 19:42:38

标签: swift parse-platform pfuser

我试图访问当前用户的数据字段的余额。
以下是我在调试器中查询currentUser时只能看到的内容:

(lldb) po currentUser
<PFUser: 0x17642d80, objectId: FUsro30ZFu, localId: (null)> {
    displayName = Turkey;
    email = "frederick.c.lee@gmail.com";
    firstName = Frederick;
    lastName = Lee;
    username = "UncleRic ";
}

这是我想要的领域(和其他一样): enter image description here

这些是不成功的尝试:

(lldb) po currentUser["location"]
error: indexing expression is invalid because subscript type 'const char *' is not an Objective-C pointer
error: 1 errors parsing expression
(lldb) po currentUser.location
error: property 'location' not found on object of type 'PFUser *'
error: 1 errors parsing expression
(lldb) po currentUser.valueForKey("location")
error: property 'valueForKey' not found on object of type 'PFUser *'
error: 1 errors parsing expression

访问对象&#39; PFUser&#39;

的剩余字段的正确方法是什么


另外,如何更新/分配PFUser的字段值?
显然我需要将一个String重新转换为AnyObject对象。但是这个地点&#39;字段已被定义为String字段。

enter image description here

1 个答案:

答案 0 :(得分:1)

这里有几个问题。

1)我试图在调试器中使用Swift而不是Objective-C。
所以我的语法都搞砸了。

2)我在线(通过网络)更改了我的parse.com数据后,我没有重启(冷启动)我的app @ device。所以我看起来是一个潜在的(非刷新数据)。

以下是查看PFUser属性值的正确格式:

(lldb) po [currentUser objectForKey:@"firstName"]
Frederick

(lldb) po [currentUser objectForKey:@"location"]
Ann Arbor

这是用于更新PFUser对象的正确Swift语法。 注意:确保在后端线程上完成实际的SAVE()。

代码用户基本上是概念验证,我可以实际更新文件。

func updateParseUser(newUser:User, sender:UIViewController) {

    let currentUser = PFUser.currentUser()

    if ((currentUser) == nil) {
        return
    }

    if let revisedlocation = newUser.location {
        currentUser?.setValue(revisedlocation, forKey: "location")
    }

    if let phone = newUser.phoneNumber {
        currentUser?.setValue(phone, forKey: "phone")
    }

    currentUser!.save()

}

感谢您的反馈