应用冻结'无法在对象1上进行正则表达式匹配'

jdo*_*dog 2 core-data objective-c ios

我的iPad应用程序只是冻结然后在调试器中抛出以下错误.

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Can't do regex matching on object 1.'
Run Code Online (Sandbox Code Playgroud)

执行Google搜索会产生涉及Core Data的答案,但没有一个真正说明如何找出此错误发生的原因.

有人有什么建议吗?

jdo*_*dog 6

问题是关于BOOL的谓词.

@"(thing LIKE [c] %@)  OR (thing == nil)"   
Run Code Online (Sandbox Code Playgroud)

固定的

@"(synced == 0) OR (synced == nil)"
Run Code Online (Sandbox Code Playgroud)

现在工作得很好.


Jul*_*ien 5

您正在尝试执行谓词,对不属于的属性执行正则表达式匹配NSString(可能是具有值的数字1).

尝试调试您的应用并中断异常(请参阅http://developer.apple.com/library/mac/#recipes/xcode_help-breakpoint_navigator/articles/adding_an_exception_breakpoint.html),它会在遇到异常时停止您的应用.