OGeek|极客世界-中国程序员成长平台

标题: ios - 如何使用 ios 解析更新用户类中的字段? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 12:10
标题: ios - 如何使用 ios 解析更新用户类中的字段?

我正在使用 parse 为后端开发一个应用程序。在应用程序中,我有一个注册模块。用户输入他的电子邮件和密码,我发送数据进行解析并将用户名临时设置为 temp。在下一个屏幕上,提示用户选择用户名,我将在后端相应地更新用户名。现在问题来了:字段用户名的值没有得到更新。这些是我上网后尝试的几种方法。

//sharedclass is a singleton class, i save object id of the registered user to its attribute objectid.
NSString * objectID = sharedClass.sharedInstance->objectid;
NSLog(@"%@", objectID);
PFObject *pointer = [PFObject objectWithoutDataWithClassName"User" objectIdbjectID];
sharedClass.sharedInstance->user.username = self.userName.text;
[pointer setObject:self.userName.text forKey"username"];
[pointer saveInBackground];

这个说没有找到对象。即使我得到了 objectID 还好。 然后这里有这个:

PFQuery *query = [PFQuery queryWithClassName"Users"];
[query whereKey"objectId" equalTobjectID];//objectId is default parse field and objectID is the string i created
[query getFirstObjectInBackgroundWithBlock:^(PFObject * users, NSError *error) {
    if (!error) {

        [users setObject:self.userName.text forKey"username"];


        [users saveInBackground];
        NSLog(@"Done");
    } else {
        // Did not find any UserStats for the current user
        NSLog(@"Error: %@", error);
    }
}];

这个说没有结果与查询匹配。

那我有这个:

PFQuery *query = [PFQuery queryWithClassName"Users"];

[query getObjectInBackgroundWithIdbjectID block:^(PFObject *username, NSError *error) {
    username[@"username"] = self.userName.text;
    [username saveInBackground];
}];

与查询没有匹配结果的错误相同。如何正确查询?有人可以解释为什么这些查询不起作用吗? 这就是我在用户注册成功时检索对象 ID 的方式

//objectid is a native string and objectId is the parse default field
sharedClass.sharedInstance->objectid = sharedClass.sharedInstance->user.objectId;

这是解析数据的屏幕截图,以了解结构。

enter image description here



Best Answer-推荐答案


根据Parse documentation for PFUser , 和 this question on the Parse Q&A site , PFUserPFObject 的一种特殊类型。

而不是使用[PFQuery queryWithClassName:],你需要调用[PFUser query]来检索一个PFQuery对象,可以搜索Users 数据库中的对象 - 例如:

PFQuery *query = [PFUser query];
[query whereKey"objectId" equalTobjectID];
[query getFirstObjectInBackgroundWithBlock:....

关于ios - 如何使用 ios 解析更新用户类中的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26543446/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4