gpt4 book ai didi

iphone - 有或没有 UITextFieldDelegate?

转载 作者:行者123 更新时间:2023-12-03 20:35:38 25 4
gpt4 key购买 nike

我很好奇如何使类符合 UITextFieldDelegate,过去我总是添加它以允许访问协议(protocol)中定义的方法。然而,最后一次我忘记添加它,后来才意识到它丢失了。我的问题是为什么它可以在有或没有的情况下工作,我认为正确访问协议(protocol)方法需要它?

@interface MyController : UIViewController <UITextFieldDelegate> {
UITextField *text_001;
}
@property(nonatomic, retain) IBOutlet UITextField *text_001;
@end

或者:

@interface MyController : UIViewController {
UITextField *text_001;
}
@property(nonatomic, retain) IBOutlet UITextField *text_001;
@end

与:

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
NSLog(@"Return: ... ");
[textField resignFirstResponder];
return YES;
}

干杯加里

最佳答案

委托(delegate)声明实际上只是作为编译器提示;显然,您仍然需要实现底层方法。然而,主要目的是让编译器在分配它们时仔细检查你。如果您尝试手动(在代码中,而不是 IB)分配未声明的委托(delegate),您将经常收到编译器警告。

由于 Objective-C 对大多数内容都使用鸭子类型(如果它像鸭子一样行走并且像鸭子一样嘎嘎叫;如果它响应 -textFieldShouldReturn: 等),那么您就非常安全。

关于iphone - 有或没有 UITextFieldDelegate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3591354/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com