在Apple的scrollView示例中,他们不会调用它.我一直认为这是必须的.我为什么要打电话呢?
我想知道在重新定位属性之前或之后调用[super viewDidUnload]之间是否有任何区别.
谢谢!
self.webView = nil;
self.fullText = nil;
[super viewDidUnload];
Run Code Online (Sandbox Code Playgroud)
要么
[super viewDidUnload];
self.webView = nil;
self.fullText = nil;
Run Code Online (Sandbox Code Playgroud) 如果我先调用超类的方法或者最后调用超类的方法,这有关系吗?例如
-(void)didReceiveMemoryWarning {
/* do a bunch of stuff */
[super didReceiveMemoryWarning];
}
Run Code Online (Sandbox Code Playgroud)
与
-(void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
/* do a bunch of stuff */
}
Run Code Online (Sandbox Code Playgroud)
其他方法的相同问题,如viewWillAppear,willRotateToInterfaceOrientation等.
我正在寻找有意义的差异,不仅仅是风格,还是哲学(尽管这些也是受欢迎的).
在标题中,我想知道viewDidLoadin 的"默认"实现是UIViewController什么?它真的有用吗?如果在我的UIViewController's子类中我写的也是重要的
-(void)viewDidLoad{
[super viewDidLoad];
/*custom code here*/
}
Run Code Online (Sandbox Code Playgroud)
要么
-(void)viewDidLoad{
/*custom code here*/
[super viewDidLoad];
}
Run Code Online (Sandbox Code Playgroud)
?
PS这不是重复,在人们问他们何时应该调用[super viewDidLoad]的其他问题中,而我主要关注的是UIViewController的实现对它的作用.
我已经看到一些苹果公司的例子可以打电话,[super viewDidUnload];而另一些则没有.我读了一篇文章(几个月前,所以我不记得那个网址),说这[super viewDidUnload];是不必要的,但除此之外没有解释.
有没有明确的理由为什么或为什么不告诉超级的viewDidUnload?
并且,(如果应该这样做)在将所有属性设置为nil,之后或之前是否重要之前,我是否应该调用super ?
- (void)viewDidUnload {
// Is this necessary?
// [super viewDidUnload];
self.tableDataSource = nil;
self.titleLabel = nil;
// Is it better to call super before or after nil'ing properties?
// [super viewDidUnload];
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
好吧,这将是一个非常令人尴尬的问题,但我在初学者的书中看起来很疯狂(特别是那些通常有用的指数)并且,我没有找到一个脚踏实地的解释'超级'在我的应用.
我在这看看这个,但我担心这远远超出我.任何人都可以提供一个非常简单的解释,说明我的应用程序中有什么"超级",以及为什么我应该成为它的朋友?例如:
- (void)viewDidLoad {
[super viewDidLoad];}
Run Code Online (Sandbox Code Playgroud)
谢谢!!
可能重复:
[super viewDidLoad]约定
它使一个区别在哪里我把[super viewDidLoad]内viewDidLoad我的UIViewController?即,它应该在开始之前(在我的代码之前设置UIViewController)或者在我的代码之后设置UIViewController),或者它没有任何区别?
- (void)viewDidLoad {
[super viewDidLoad];
//..do stuff..
}
Run Code Online (Sandbox Code Playgroud)
要么
- (void)viewDidLoad {
//do stuff
[super viewDidLoad];
Run Code Online (Sandbox Code Playgroud) iphone ×7
objective-c ×5
ios ×4
cocoa-touch ×3
super ×2
viewdidload ×2
ipad ×1
oop ×1
uikit ×1
uiview ×1