我可以覆盖文本字段进行结束编辑以包括验证检查

时间:2011-09-06 14:08:49

标签: iphone uitextfield categories

如何覆盖uitextfield的委托函数,以便对输入的文本进行验证。即我需要覆盖textfield做结束编辑方法来执行验证,这应该适用于我的项目中的所有文本字段。我可以使用类别吗?

2 个答案:

答案 0 :(得分:3)

验证应在textFieldShouldEndEditing:处理,而不是textFieldDidEndEditing:。在完成某些事情以允许验证之前调用“should”方法。 “确实”的方法是已经发生的事情的通知。

编辑您不会在UITextField上使用类别。有很多好的解决方案。

  • 为所有文字字段设置一个共享UITextFieldDelegate
  • 从一致的超类中对您的代理进行子类化,该超类以您希望的方式实现
  • 将共享逻辑放入代理调用的函数中,以避免子类化
  • 将您的共享逻辑放入您所有文本字段代表都会引用的单个TextFieldController中。

这完全取决于您在此例程中需要的逻辑类型。但是你不应该使用类别来覆盖现有的方法。

答案 1 :(得分:1)

您可以使用textfield的类别进行常规验证。

再次,正如Rob所说,这完全取决于您的应用程序所需的逻辑。