我有一个带TabBarController的iPhone应用程序。我可以使用
访问当前的ViewController[appDelegate.myTabBarController selectedViewController]
但是如何获得该控制器的名称?
例如,所选ViewController的名称是“TestViewController”。我怎样才能得到这个字符串/名字? 我想检查当前的ViewController是否是“TestViewController”。
提前多多感谢&最诚挚的问候。
答案 0 :(得分:2)
您可以这样做:
if([[appDelegate.myTabBarController selectedViewController] isKindOfClass:[TestViewController class]])
{
NSLog(@"Yes I am the controller you want.");
}
希望这有帮助。
答案 1 :(得分:1)
if ([NSStringFromClass([[appDelegate.myTabBarController selectedViewController] class]) isEqualToString:@"TestViewController"])
{
//do your stuff here
}
答案 2 :(得分:0)
你可以创建UIViewController类的子类并添加属性,例如
@property(nonatomic, retain) NSString* name;
然后使用name
属性创建类的所有viewControllers子类。然后只需在-(id)init
或-(void)viewDidLoad
方法中设置控制器的名称,以便在需要时可以访问它。
另一种方法是制作一些类名对的字典。喜欢这样的
[myDictionary setValue:stringClassName forKey:[MyViewController class]];
从整个应用程序中提供此词典 - 如果此类在您的词典中注册,您将能够随时获得每个班级的名称。