解析iOS子类。检查数组字段是否包含值

时间:2015-07-13 15:32:12

标签: ios objective-c parse-platform

我有两个名为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,其中包含tagspeopleplaces(这些是数组)等字段,那么要获取我需要的实际数据使用event方法获取includeKey个对象。或者我可以使用它的所有相关数据获取整个event对象。这就是我不想做的事情。 我希望将tags数组作为一个简单的NSArray。 像

这样的东西
NSArray *tags = [event tags];

谢谢!

1 个答案:

答案 0 :(得分:0)

对于您的第一个问题,您无法使用containsObject类中的NSArray,因为它会为每个元素调用isEqual。在Parse中,有一个非常方便的API来添加唯一对象,您只需要调用- (void)addUniqueObject:(id)object forKey:(NSString *)key

对于您的其他问题,我认为如果不使用includeKey进行查询,他们就没有类似的内容。之后,我认为<Subclassing>类别可以启用您编写的代码行。