iphone - 异常 <UITextField>,应用程序崩溃

标签 iphone ios objective-c xcode uitextfield

这是我得到的

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Can't do regex matching on object <UITextField: 0x7165730; frame = (121 208; 179 30); text = 'mail@test.com'; clipsToBounds = YES; opaque = NO; autoresize = RM+BM; gestureRecognizers = <NSArray: 0x7166ca0>; layer = <CALayer: 0x715ed50>>.'
*** First throw call stack:
(0x1c94012 0x10d1e7e 0xbfbb5e 0xb38bae 0xb383dc 0xb37e9a 0x3c04 0x29a9 0x10e5705 0x1c920       0x1c8b8 0xdd671 0xddbcf 0xdcd38 0x4c33f 0x4c552 0x2a3aa 0x1bcf8 0x1befdf9 0x1befad0 0x1c09bf5 0x1c09962 0x1c3abb6 0x1c39f44 0x1c39e1b 0x1bee7e3 0x1bee668 0x1965c 0x1f95 0x1e95)
libc++abi.dylib: terminate called throwing an exception

抱歉,如果太大,但我不明白这个错误,我禁用了 .xib Autolayout,因为这使我的应用程序在旧设备上崩溃,而我的应用程序从未在 TextField 中崩溃,该 TextField 是电子邮件的文本字段。

提前致谢。

编辑:

我的代码:

NSString *mail = [email.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
if ([self validarEmail:mail])
{
   // code
}

-(BOOL) validarEmail:(NSString *) mail // From internet made for objective-c
{
BOOL stricterFilter = YES;
NSString *stricterFilterString = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
NSString *laxString = @".+@.+\\.[A-Za-z]{2}[A-Za-z]*";
NSString *emailRegex = stricterFilter ? stricterFilterString : laxString;
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
return [emailTest evaluateWithObject:email];
}

如果我评论 IF 应用程序会正常,否则会崩溃。

提前致谢

最佳答案

您正试图在 UITextField 对象上测试正则表达式,而我假设您打算在它的 text 属性上测试它。

自 OP 编辑​​问题后编辑

注意这一行:

return [emailTest evaluateWithObject:email];

您的“电子邮件”对象是您的文本字段,而不是您的字符串。您的字符串称为 mail(它作为参数传递到方法中。

关于iphone - 异常 <UITextField>,应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14436716/

相关文章:

iphone - 从通知中心清除通知

iphone - 最后一个 UITableViewCell 上的 UITableViewScrollPositionTop

ios - 使用 UIViewController 快速拉动刷新,无需 TableView 或 TableViewController

ios - 更改 iOS 框架的导入

iphone - 在我的邮件中附加 PDF/Doc 文件

iphone - 是否可以访问 iPhone 中的联系人信息屏幕?

ios - Swift UIView 边框在 UITableView 滚动后调整

ios - 如何仅提示更新应用程序的用户(iOS)?

iphone - 将 'TAB' 字符写入 objective-c 中的文本文件?

objective-c - 如何继承 UIScrollView 并将委托(delegate)属性设为私有(private)