有没有办法检查UIViewController是否在内存/可见屏幕上加载?
这样的事情:
if([ContentRvController exists]){
contentView *ContentRvController = [[contentView alloc]
initWithNibName:@"contentView" bundle:nil]; //ContentView is a custom UIViewController
....
//Code to set the UIViewController
....
}
else{
[ContentRvController release];
}
当点击按钮(现在正在初始化ViewControllers)时,应该会发生这种情况。现在,当点击它打开ViewControllers时,它应该一次只显示一个。
这就是它,问候和希望你可以帮助我。
答案 0 :(得分:0)
如果您使用UINavigationController
检查属性topViewController
。
答案 1 :(得分:0)
这是基于现有代码吗? 类应该从大写开始,而实例应该是驼峰大小写,例如
if([contentRvController exists]){
ContentView *contentRvController = [[ContentView alloc]
initWithNibName:@"contentView" bundle:nil]; //ContentView is a custom UIViewController
....
//Code to set the UIViewController
....
}
else{
[contentRvController release];
}
可能值得在标题中声明它,即
@interface SomeClass : NSObject {
}
@property(non-atomic, retain) ContentView *contentRvController;
@end
然后在代码中你可以做
if(contentRvController!=nil){
ContentView *aView=[[[ContentView alloc] init] autorelease];
self.contentRvController=aView;
}
另外,不要执行else {[contentRv release];}位,如果你在任何地方自动释放它,这会在某些时候泄漏。