-1

我的应用程序有 navController

在运行时我有 NSString *propertyName = @"navController";

我知道它是一种 UINavigationController

如何使用字符串名称访问 UINavigationController

我可能需要使用https://developer.apple.com/library/ios/#documentation/Cocoa/Reference/ObjCRuntimeRef/Reference/reference.html

4

2 回答 2

0

键值编码会有所帮助,

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 回答