我有两个名为Event和Tag的类(使用LocalDatabase)。
@interface Event : PFObject <PFSubclassing>
@property (nonatomic, strong) NSArray *tags;
@interface Tag : PFObject <PFSubclassing>
@property (nonatomic, strong) NSString *name;
tags
字段是指向Tag
类对象的指针数组。
我想为事件对象添加一个新标签,我需要检查数组中是否没有这样的标签。如果没有这样的标签 - 加上它。
这样做的最佳方法是什么?
其他问题: 如何仅查询&#34;标签中的对象&#34;数组(例如,如果我有几个不同的数组字段和许多其他字段,我不想使用&#34; includeKey&#34;)?
编辑:
据我所知, Parse 中的数组字段仅包含指向对象的指针。例如,如果我有对象event
,其中包含tags
,people
,places
(这些是数组)等字段,那么要获取我需要的实际数据使用event
方法获取includeKey
个对象。或者我可以使用它的所有相关数据获取整个event
对象。这就是我不想做的事情。
我希望将tags
数组作为一个简单的NSArray。
像
NSArray *tags = [event tags];
谢谢!
答案 0 :(得分:0)
对于您的第一个问题,您无法使用containsObject
类中的NSArray
,因为它会为每个元素调用isEqual
。在Parse
中,有一个非常方便的API来添加唯一对象,您只需要调用- (void)addUniqueObject:(id)object forKey:(NSString *)key
。
对于您的其他问题,我认为如果不使用includeKey
进行查询,他们就没有类似的内容。之后,我认为<Subclassing>
类别可以启用您编写的代码行。