私は現在、開発者向けの新しいコンポーネントを作成しています。統合を非常に簡単にしたいので、アプリケーションデリゲート内で作成されたかどうかを確認できるようにしたいと考えています。それにアクセスして、そのメソッドを呼び出すことができます。
私は答えが次のようなものであることを望んでいました:
Class clazz = [[[UIApplication sharedApplication] delegate] class];
unsigned int varCount;
Ivar *ivars = class_copyIvarList(clazz, &varCount);
for (int i = 0; i < varCount; i++) {
Ivar var = ivars[i];
NSString *typeEncoding = [NSString stringWithCString:ivar_getTypeEncoding(var) encoding:NSUTF8StringEncoding];
NSString *name = [NSString stringWithCString:ivar_getName(var) encoding:NSUTF8StringEncoding];
}
しかし、私の問題は、そのコードで、初期化されたコンポーネントを見つけることができるということです...しかし、どうすればそれにアクセスできますか?
私はこれを試しました:
if ([typeEncoding isEqualToString:@"@\"MyClassName\""]) {
MyClassName *myclass = (MyClassName *)object_getIvar(self, var);
}
成功しなければ(良いコンポーネントを指していません)...
誰かがこれについて解決策を持っていますか?
ありがとう :)