我在重构一些代码时遇到了一个问题。我已经为我的项目实现了 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_;
有人遇到过这种情况吗?
最佳答案
我自己找到了解决办法。 mogenerator 没有使用辅助方法,而是为您提供了 customModelSet
方法。够有趣的,
- (void)addCustomModel:(NSOrderedSet*)value_;
- (void)removeCustomModel:(NSOrderedSet*)value_;
- (void)addCustomModelObject:(CustomModel*)value_;
- (void)removeCustomModelObject:(CustomModel*)value_;
这些方法已损坏并会引发以下异常:
* Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '* -[NSSet intersectsSet:]: set argument is not an NSSet'
此外,我想指出的是,我已经用一个非常基本的示例自行测试了它。如果有人有任何意见或更新,请随时添加到本文中。
干杯!
关于ios - MOGenerator 和 NSOrderedSet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18475949/