在 viewDidLoad 或 init 方法中设置 UITextField 的委托是一个好习惯吗?
我尝试在 init 方法中将委托设置为 self,但它没有调用相应的委托方法,当我将代码移动到 viewDidLoad 中时,它注册为将 self 设置为委托?
看来我应该能够用任何一种方法设置它,如果有人可以帮助我解决这个问题,我将不胜感激。
-(id) init {
self = [super init];
if (self)
textField.delegate = self; //this text field is an IBOutlet
//some other code here as well
return self;
}
OR
-(void)viewDidLoad {
[super viewDidLoad];
textField.delegate = self;
}
如果您的文本字段是IBOutlet
然后直到viewDidLoad
方法被称为你的文本字段将是nil
(因此您将委托设置为nil
目的)。什么时候viewDidLoad
被称为它的字面意思是视图已加载,所有 IBOutlet 和 IBAction 均已连接并可供您使用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)