アセンブリで基本構成を定義し、それをサブクラス化して追加の構成を持つことは可能ですか?
私はこのようなことを試みています:
@interface RootAssembly : TyphoonAssembly
- (id)abstractObject;
- (id)object;
@end
@implementation RootAssembly
- (id)abstractObject {
return [TyphoonDefinition withClass:[NSObject class]];
}
- (id)object {
return [TyphoonDefinition withParent:[self abstractObject] class:[NSObject class]];
}
@end
@interface ChildAssembly : RootAssembly @end
@implementation ChildAssembly
- (id)object {
return [TyphoonDefinition withParent:[super abstractObject] class:[NSObject class]];
}
@end
アセンブリが 1 つしか使用されていない場合、すべてが正常に機能します。2 つ目のメソッドもインスタンス化されてアクティブ化されている場合、 を返すメソッドobject
はまだスウィズルされておらず、定義を構築しようとするため、例外が発生します。
2015-05-27 18:44:37.542 Typho[17693:8488013] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Only TyphoonDefinition object can be set as parent. But in method '(null)' object of class NSObject set as parent'
詳細はこちら: https://gist.github.com/oettam/01ac812c040ed28d913c
これは実際に行く方法ですか?