2011-01-03 10 views
0

Lange Rede, kurzer Sinn: iPhone App stürzt beim Versuch ab, eine Gruppe von Daten mithilfe einer Gruppe von IDs abzurufen. Ich habe eine Reihe von Datensätzen an einen Benutzer gebunden, alle Datensätze sehen, wo recordID passt zu jedem Eintrag von user.recordIDs, stürzt mit Fehler:Core Data Assertion mit "IN" -Klausel in iOS 3.0

unimplemented SQL generation for predicate : (recordID IN {name (user.record.recordID) by user (userID) ...)

ich sagen, öffnen werde, Ja, ich schon gefunden: http://cubic-m.blogspot.com/2010/03/supporting-leopard-while-developing-in.html (iOS 3.0 SQL unterstützt keine "IN" -Klauseln mit NSSets, muss NSArrays verwenden).

Prädikat ist in der Form: (recordID IN %@.recordID) wo "% @" ist user.records (entweder eine Menge oder ein Array, basierend auf Artikel oben).

Das ist gut und gut, und schien die meisten Abstürze meiner Anwendung zu beheben - jedoch behebt es nur die Abstürze für 3.x> 3.0. Das heißt, es behebt das Problem immer noch nicht bei der Firmware 3.0. Wenn jemand irgendwelche Vorschläge bezüglich der Nuance der frühen Kerndaten hat, bitte helfen Sie!

Antwort

2

nicht sicher, was das eigentliche Problem hier war, aber das Update war also:

Wenn wir iOS 3 ausgeführt werden, erstellen Sie eine NSArray mit allen wichtigen Objekte ich suchte (hier RecordIDs) und übergeben Sie das an [NSPredicate predicateWithFormat:@"recordID IN %@", recordIDs] anstelle von [@"recordID in %@.recordID", records]

Wieder, nicht sicher, was das eigentliche Problem war, aber diese Problemumgehung es behoben.