我遇到了一个问题,同时重构了一些代码。我为我的项目实现了MOGenerator。但是,我的一些关系是有序的,默认情况下实现会导致为CRUD操作创建8种不同的附件方法。但是MOGenerator似乎根本没有生成这些方法,而是提供默认的无序附件方法。
例如,如果未使用MOGenerator,则会生成此内容:
- (void)insertObject:(CustomModel *)value inCustomModelAtIndex:(NSUInteger)idx;
- (void)removeObjectFromCustomModelAtIndex:(NSUInteger)idx;
- (void)insertCustomModel:(NSArray *)value atIndexes:(NSIndexSet *)indexes;
- (void)removeCustomModelAtIndexes:(NSIndexSet *)indexes;
- (void)replaceObjectInCustomModelAtIndex:(NSUInteger)idx withObject:(CustomModel *)value;
- (void)replaceCustomModelAtIndexes:(NSIndexSet *)indexes withCustomModel:(NSArray *)values;
- (void)addCustomModelObject:(CustomModel *)value;
- (void)removeCustomModelObject:(CustomModel *)value;
- (void)addCustomModel:(NSOrderedSet *)values;
- (void)removeCustomModel:(NSOrderedSet *)values;
这就是MOGenerator所生成的:
- (void)addCustomModel:(NSOrderedSet*)value_;
- (void)removeCustomModel:(NSOrderedSet*)value_;
- (void)addCustomModelObject:(CustomModel*)value_;
- (void)removeCustomModelObject:(CustomModel*)value_;
有没有人遇到过这个?
答案 0 :(得分:2)
我自己找到了解决方案。 mogenerator不使用附件方法,而是为您提供customModelSet
方法。有趣的是,
- (void)addCustomModel:(NSOrderedSet*)value_;
- (void)removeCustomModel:(NSOrderedSet*)value_;
- (void)addCustomModelObject:(CustomModel*)value_;
- (void)removeCustomModelObject:(CustomModel*)value_;
这些方法被破坏并会引发以下异常:
*由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'* - [NSSet intersectsSet:]: set参数不是NSSet'
此外,我想指出我已经用一个非常基本的例子自己测试了它。如果有人有任何意见或更新,请随时添加到这篇文章。
干杯!