解析以下 PFUser

Posted

技术标签:

【中文标题】解析以下 PFUser【英文标题】:Parse following PFUser 【发布时间】:2015-12-25 15:03:02 【问题描述】:

我正在尝试在我的 ios9 项目上使用 parse 进行 follow action,但是在从 PFUser 检索时遇到了一点问题使用 objectId 解析,谁能帮帮我(问题在于将当前用户的用户 ID 添加到关注的用户)

- (IBAction)followButtonAction:(id)sender 

PFQuery * query = [PFUser query];
[query whereKey:@"objectId" equalTo:_a.userId];   
NSArray *objects = [query findObjects];   
PFUser *user= objects.firstObject;

//add the user ID for the cell we are following to the array of followed items in the user class in parse
    [[PFUser currentUser] addUniqueObject:_a.userId forKey:@"followed"];
    [[PFUser currentUser] saveInBackground];

//add the user ID to the user that the user followed
    [user addUniqueObject:[PFUser currentUser].objectId forKey:@"followers"];
    [user saveInBackground];

【问题讨论】:

您遇到的具体问题是什么? 在关注者案例中添加当前用户 ID 时,我收到警告警告:正在主线程上执行长时间运行的操作。中断 warnBlockingOperationOnMainThread() 进行调试。 【参考方案1】:

假设您的问题是关于长期运行的操作(根据您的评论):

您的查询正在主线程上执行,因为您调用了[query findObjects]。请改用findObjectsInBackgroundWithBlock,并将之后的所有代码放在回调中。

【讨论】:

谢谢!我不再有警告,但仍然无法在解析“追随者”案例中添加用户 ID “关注者”是 Parse 上的 PFUser 数组吗?如果是这样,则直接添加用户(即添加 PFUser,而不是其 objectId)。 我无法添加任何内容,除非关注的用户与登录用户相同!我不知道为什么它在这种情况下有效 对。您不能随意添加/更改其他用户的某些内容(例如,因为您可以更改他们的电子邮件或密码)。例如,一种解决方案是创建一个跟踪关注者的新表。或者您可以在 Parse 中创建一个 Cloud Code 函数并使用主密钥进行这些更改。

以上是关于解析以下 PFUser的主要内容,如果未能解决你的问题,请参考以下文章

解析传递 PFUser 到 Watch 扩展

注册后向 PFUser 添加列?解析,斯威夫特

更改 PFUser 用户名,解析与 Facebook 集成

解析 PFUser.currentUser 返回 nil - Swift

带有解析的 iOS。 PFUser.currentuser() 没有被缓存。应用重启后返回 nil

在 Swift 中链接/合并 Facebook 用户和 PFUser(解析)