3

このエラーが発生しましたが、どこで発生しているのかわかりません。

スタックトレースは次のとおりです。

0 CoreFoundation 0x382952a3 __exceptionPreprocess + 163
1 libobjc.A.dylib 0x3358d97f objc_exception_throw + 31
2 CoreData 0x398fe0cf -[NSComparisonPredicate(_NSCoreDataSQLPredicateCategories) minimalFormInContext:] + 371
3 CoreData 0x399097af -[NSCompoundPredicateOperator(_NSCoreDataSQLPredicateCategories) minimalFormInContext:ofPredicates:] + 727
4 CoreData 0x398fd917 -[NSSQLGenerator initializeContextForFetchRequest:ignoreInheritance:nestingLevel:] + 539
5 CoreData 0x398fd3b3 -[NSSQLGenerator newSQLStatementForFetchRequest:ignoreInheritance:countOnly:nestingLevel:] + 39
6 CoreData 0x398fd2bd -[NSSQLAdapter _newSelectStatementWithFetchRequest:ignoreInheritance:] + 509
7 CoreData 0x398fced5 -[NSSQLCore newRowsForFetchPlan:] + 117
8 CoreData 0x398fc64f -[NSSQLCore objectsForFetchRequest:inContext:] + 683
9 CoreData 0x398fc119 -[NSSQLCore executeRequest:withContext:error:] + 469
10 CoreData 0x398fb531 -[NSPersistentStoreCoordinator executeRequest:withContext:error:] + 1645
11 CoreData 0x398f9e2b -[NSManagedObjectContext executeFetchRequest:error:] + 647
12 CoreData 0x3996293f -[NSManagedObjectContext(_NestedContextSupport) _parentObjectsForFetchRequest:inContext:error:] + 399
13 CoreData 0x399630c9 __82-[NSManagedObjectContext(_NestedContextSupport) executeRequest:withContext:error:]_block_invoke_0 + 565
14 libdispatch.dylib 0x36eb2621 _dispatch_barrier_sync_f_slow_invoke + 81
15 libdispatch.dylib 0x36ea34b7 _dispatch_client_callout + 23
16 libdispatch.dylib 0x36ea4dcb _dispatch_main_queue_callback_4CF$VARIANT$up + 227
17 CoreFoundation 0x38268f3b __CFRunLoopRun + 1291
18 CoreFoundation 0x381dbebd CFRunLoopRunSpecific + 357
19 CoreFoundation 0x381dbd49 CFRunLoopRunInMode + 105
20 GraphicsServices 0x36f532eb GSEventRunModal + 75
21 UIKit 0x3a3882f9 UIApplicationMain + 1121
22 Sticky Free 0x000ac67b _mh_execute_header + 13947
23 Sticky Free 0x000ab1e0 _mh_execute_header + 8672


And here is the main error.
Invalid predicate: nil RHS

フェッチを実行している間、NSPredicateからそれを知っています。しかし、どの行が原因であるかは正確にはわかりません。マルチスレッドのcoredata環境を使用しています。

この問題は非常に断続的であり、10セッション程度に1回発生します。どんな助けでもありがたいです。

ありがとう

4

2 に答える 2

6

他の人が言っているように、シンボリックブレークポイントをに設定して、どちらがエラーをトリガーするobjc_exception_throwかを確認してください。スクロールexecuteFetchRequestのある行から、述語を定義する場所まで。executeFetchRequest

RHS右側を表す傾向があります。述語を次のように設定していると仮定します。

[NSPredicate predicateWithFormat:@"%K = %@", attribute, value];

その後RHSになりますvaluevalueそうでないことを確認してくださいnil

于 2012-12-02T19:29:16.090 に答える
0

私が見つけたのは、終了直後にメインコンテキストを保存していたことです。したがって、終了時にメインコンテキストを保存しないと、この奇妙な外観のクラッシュは発生しません。

于 2012-12-06T02:51:36.300 に答える