Typhoon Framework をアプリに統合しようとしていますが、問題が 1 つあります。
から継承した 3 つのクラスがありTyphoonAssembly
ます。それらの1つは別のものに依存しています。
依存関係のあるアセンブリのコードは次のとおりです
@interface SMObjectFactory : TyphoonAssembly
@property(nonatomic, strong, readonly) SMManagersAssembly *managersAssembly;
- (SMNote *)createEmptyNoteWithCurrentDate;
@end
// ===================================
@implementation SMObjectFactory {}
- (SMNote *)createEmptyNoteWithCurrentDate {
return [TyphoonDefinition withClass:[SMNote class] configuration:^(TyphoonDefinition *definition) {
[definition useInitializer:@selector(init)];
NSDate *dateAdded = [NSDate date];
[definition injectProperty:@selector(key) with:[NSString UUID1WithDate:dateAdded]];
[definition injectProperty:@selector(dateAdded) with:dateAdded];
[definition injectProperty:@selector(folderKey) with:self.managersAssembly.folderManager.defaultFolder];
}];
}
@end
を呼び出すときに問題が発生しself.managersAssembly.folderManager.defaultFolder
ます。self.managersAssembly
これは のインスタンスでTyphoonCollaboratingAssemblyProxy
あるため、実際のアセンブリではなくTyphoonReferenceDefinitionself.managersAssembly.highlightManager
のインスタンスであり、それぞれ folderManager によって返されるオブジェクトです。
Info.plist で次のように定義されているアセンブリ
これらのアイテムの順序を変更しようとしましたが、うまくいきませんでした。
行がなくてもself.managersAssembly.folderManager.defaultFolder
正常にコンパイルされます。たとえば、アプリデリゲートクラス (これも注入されます) で [(SMManagersAssembly *)self.assembly highlightManager].defaultHighlight を呼び出すと、完全にうまく機能します。
私が間違っていることと、それを行う適切な方法は何ですか?
台風2.2.1号