我这是我的第一个iphone应用程序。我的应用程序显示不同的视图,并从最小化模式返回。我想确定当前显示哪些视图。
我尝试在"isa"
事件中使用applicationDidEnterForeground()
。
但是,我认为我不正确。
答案 0 :(得分:0)
您可以使用tag
属性标记您的视图,并使用它来标识特定视图。这可能会更好,因为tag
属性将识别类的实例而不仅仅是类类型。
如果要检查类的类型,可以使用NSObject协议实例方法:
- (BOOL)isKindOfClass:(Class)aClass
或
- (BOOL)isMemberOfClass:(Class)aClass
使用对象的class
实例方法返回对象的类。 isKindOfClass:如果实例的类与提供的类相同(或者是该类的子类),则返回true,其中 isMemberOfClass:返回true,如果实例的类与提供的类完全相同。例如:
if ([myObject isMemberOfClass:[UITableView class]])
{
// Do stuff
}
答案 1 :(得分:0)
据我所知,使用isa
并不是这个问题的核心 - isa
与类身份有关,但你的核心问题实际上是找出类实例你需要识别!您在访问isa
属性的是什么?
This question可能与此有关 - 特别是我的答案的这一部分:
没有开箱即用的方式 这是'当前' 顺便提一下UIViewController。但是你 可以找到解决方法,例如那里 是代表的方法 用于查找的UINavigationController 当呈现UIViewController时 在其中。你可以使用这样的东西 跟踪最新的UIViewController 已经提出。
可能有用的东西:因为iOS4,UIWindow
有一个属性rootViewController
,它被设置为当前的根视图控制器。显然,这可能是UINavigationController或其他一些UIViewController聚合器,因此在这种情况下你仍然需要做一些工作......