【发布时间】:2012-04-06 07:51:55
【问题描述】:
我的应用有导航控制器
在运行时我有 NSString *propertyName = @"navController";
我知道它是一种 UINavigationController
如何使用字符串名称访问 UINavigationController
【问题讨论】:
标签: iphone ios objective-c-runtime kvc
我的应用有导航控制器
在运行时我有 NSString *propertyName = @"navController";
我知道它是一种 UINavigationController
如何使用字符串名称访问 UINavigationController
【问题讨论】:
标签: iphone ios objective-c-runtime kvc
Key-Value Coding 会有所帮助,
UINavigationController *navController = [self valueForKey:@"navController"];
【讨论】:
如果您想使用运行时,您可以使用以下方法从 navigationController 所属的任何类中获取 Ivar:
Ivar var = class_getInstanceVariable(your class, "navController");
然后使用该 Ivar,您可以使用此方法调用您的类的实例,以获取 navController 指向的对象
UINavigationController* controller = object_getIvar(instanceofyourclasswithnavcontroller, var)
【讨论】: