-1

私のアプリにはnavControllerがあります

そして実行時に私は NSString *propertyName = @"navController"; を持っています。

私はそれが UINavigationController のタイプであることを知っています

文字列名で UINavigationController にアクセスするにはどうすればよいですか

https://developer.apple.com/library/ios/#documentation/Cocoa/Reference/ObjCRuntimeRef/Reference/reference.htmlを使用する必要があるかもしれません

4

2 に答える 2

0

Key-Value コーディングが役立ちます。

UINavigationController *navController = [self valueForKey:@"navController"];
于 2012-04-06T07:53:56.290 に答える
0

ランタイムを使用したい場合は、これを使用して、navigationController が別のクラスから Ivar を取得できます。

Ivar var =  class_getInstanceVariable(your class, "navController");

次に、その Ivar を使用して、このメソッドを使用してクラスのインスタンスを呼び出し、navController が指すオブジェクトを取得します。

UINavigationController* controller = object_getIvar(instanceofyourclasswithnavcontroller, var)
于 2012-04-06T08:04:02.673 に答える