我正在使用 Parse 作为我的后端。我在设置对象之间的正确关系时遇到问题。
我基本上有一个名为 Post 的类,每个帖子都属于一个用户 (PFUser),并且在获取帖子时我希望用户信息与帖子一起获取。
@interface Post : PFObject<PFSubclassing>
@property (nonatomic, strong) NSDate *time;
@property (nonatomic, strong) NSString *title;
@property (nonatomic, strong) NSString *body;
@property (nonatomic, strong, readonly) PFRelation *user;
// User in backed is defined as a relationship to _user
@end
// Saving the post
[post.user addObject:[PFUser currentUser];
[post saveInBackground];
这工作正常并将帖子与该用户相关联,但是当我稍后尝试获取帖子时,我似乎无法从 PFRelation 获取 _user 的实例。
处理这个问题的正确方法是什么? 试图将 PFRelation 更改为 PFUser,但这会崩溃,因为它试图在 PFUser 对象上调用保存
最佳答案
关系适用于当您需要一长串相关类时,其中数组不起作用,或者当您希望根据需要查询相关对象而不是每次加载包含对象时都包含该列表。
基本上您有 4 个 Parse 选项:
- 指针 - 对另一个类的单一引用(1 到 0..1)
- 数组——指针的集合,每次加载对象(1 到 0..n,小列表)
- 关系 - 指针的集合,就像 SQL 中的连接表(在幕后为您处理),您必须对其运行查询以加载值(1 到 0..n)
- 自定义连接类——实际上只是另一个对象(如 SQL 中的多对多连接),带有指向每一侧的指针以及任何相关信息(1..n 到 1..n)
在您的情况下,一个简单的 Pointer 就可以满足您的需求。
关于ios - 解析 - 使用关系还是指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23459111/