请解释第二个if语句的含义。
我要问的是if的意思([self.delegate textFieldShouldClear:self])< - 这一行
SEL clearselector = @selector(textFieldShouldClear:);
if([self.delegate respondsToSelector:clearselector]){
if([self.delegate textFieldShouldClear:self]){// (Explain This If please)?
NSLog(@"Delegate Methods");
self.txtRef.text = @"";
}
}
提前致谢。
答案 0 :(得分:1)
通常此方法返回BOOL
值,表示此类已实现或继承提供的委托方法,并通过此BOOL
值YES
或NO
我们将其调用通知或更新数据。
它通常用于防止崩溃,如果该类未实现该方法将不会使我们的应用程序崩溃。
在您的情况下,您的检查UITextField
委托方法是否由该类实现,如果是,则通过委托对象调用该方法。
修改强>
根据您的问题,更新textFieldShouldClear
方法是检查用户是否已覆盖textFieldShouldClear
此方法并询问用户textFiled是否应该清除。
Apple来源:
询问代表文本字段的当前内容是否应该是 除去。
参考链接: https://developer.apple.com/reference/uikit/uitextfielddelegate/1619594-textfieldshouldclear
希望这有助于理解这种方法。
答案 1 :(得分:0)
只有当包含将执行时,该委托方法才返回true。
{
NSLog(@"Delegate Methods");
self.txtRef.text = @"";
}
如果用户不想为某些特定情况清除文本字段,则可能会返回false。