gpt4 book ai didi

ios - 关系查询后解析编辑对象

转载 作者:行者123 更新时间:2023-11-28 21:54:59 26 4
gpt4 key购买 nike

在我的应用程序中,用户在与当前用户相关的警报类中创建了一个 PFObject。我想检索它并对其进行编辑。

添加对象:

PFUser *user = [PFUser currentUser];
PFObject *alarm = [PFObject objectWithClassName:@"Alerts"];
alarm[@"Active"] = @YES;
alarm[@"ActionWasCompleted"] = @NO;
alarm[@"Time"] = _alarmTime;

PFRelation *relation = [user relationForKey:@"user"];
[relation addObject:user];
[alarm saveInBackground];

检索用户特定对象并编辑它:

PFQuery *query = [PFQuery queryWithClassName:@"Alerts"];
[query whereKey:@"user" equalTo:[PFUser currentUser]];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error) {
NSLog(@"Successfully retrieved %d objects.", objects.count);
[[objects objectAtIndex:0] setObject:@YES forKey:@"ActionWasCompleted"];
} else {
// Log details of the failure
NSLog(@"Error: %@ %@", error, [error userInfo]);
}
}];

现在我在没有编辑它们之前使用了关系查询,但我什至无法检索与当前用户相关的警报类中的对象。更不用说编辑对象了。我不知道我做错了什么。

我想做的就是创建一个特定于用户的 PFObject,检索它并编辑它。

如果您有任何建议,我会洗耳恭听!谢谢!

编辑:我想出了如何使用

保存查询的对象
[PFObject saveAllInBackground:objects];

但我仍然无法检索与当前用户相关的对象。

最佳答案

查看您的 Alerts 创建代码,您在 User->Alerts 之间有 1:m 的关系(奇怪的是,通过 PFUseruser 字段),但是没有来自 Alerts->User 的关系(或者如果你这样做,它没有设置)。您仍然可以查询给定用户的所有警报,但您必须通过用户而不是通过警报来查询。

另外,您可能想要检查关系 - 看起来您的 PFUser 有一个名为“user”的字段,您将其用作与警报的关系。我建议将其重命名为 Alerts,这样就可以清楚地了解它们之间的关系。

PFRelation *alertsRelation = [[PFUser currentUser] relationForKey:@"user"]; // Should rename the relation on the user so it's clear what it's a relation to
PFQuery *alertsQuery = [alertsRelation query];
[alertsQuery findObjectsInBackgroundWithBlock:^(NSArray *alerts, NSError *error) {
// alerts now contains the the Alerts for the current PFUser
}];

只是另一个想法 - 如果您希望通过名称为用户的关系字段在警报上设置您与用户的关系,您应该更改对象添加代码从

PFRelation *relation = [user relationForKey:@"user"];
[relation addObject:user];
[alarm saveInBackground];

PFRelation *relation = [alarm relationForKey:@"user"];
[relation addObject:user];
[alarm saveInBackground];

如果您这样做,那么您的原始查询代码应该可以工作,因为现在正在设置警报上的用户关系。

关于ios - 关系查询后解析编辑对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26872856/

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