最近在学iOS开发的时候发现一个奇怪的错误,在界面上放一个文本框,其他什么都不改就运行,然后在文本框中随便输入字符,输入几个就会报EXC_BAD_ACCESS错误,查了一下资料发现这种错误是由于内存访问或释放错误引起,但就放一个控件什么都没做怎么也报这种错呢,难道XCode模板代码就有问题,加入调式参数打印日志如下:
....
/SourceCache/gdb/gdb-1651/src/gdb/macosx/macosx-nat-utils.c:567: internal-error: Couldn't compile unsafe call pattern (^(m|c|re|v)?alloca*)|(::[^ ]*allocator)|(^szone_), error Regular expression too big
A problem internal to GDB has been detected,
further debugging may prove unreliable.
看这信息好像跟正则表达式有关,是否存在自动对文本框的值进行验证的时候出现了问题,但即使这样也不应该啊,怎么缺省情况会验证出错呢?
后来找了一下文本框的属性,其中有一个属性Correction ,应该是是否自动纠正的意思,把这个属性设为No以后无论怎么输入都不报错了。
但即使需要纠正也不应该报错啊,难道是框架代码确实有问题?还是必须这样用,望高手指点。