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

时间:2012-04-06 07:51:55

标签: iphone ios objective-c-runtime kvc

我的应用有navController

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

我知道它是一种UINavigationController

如何使用字符串名称

访问UINavigationController

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

2 个答案:

答案 0 :(得分:0)

Key-Value Coding会有所帮助,

UINavigationController *navController = [self valueForKey:@"navController"];

答案 1 :(得分:0)

如果你想使用运行时,你可以使用以下任何类导航控制器来获取Ivar:

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

然后使用该Ivar,使用此方法调用类的实例,以获取navController对象的对象

UINavigationController* controller = object_getIvar(instanceofyourclasswithnavcontroller, var)