解析以下 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.currentUser 返回 nil - Swift