NSPredicate, NsNummer numberWithFloat: 0.0 (iPhone)

8

hi Ich habe eine Core Data Datenbank mit numerischen Attributen. Sie sind NSNumbers. Der Standardwert ist 0.0, aber wenn ich versuche, ein paar NSPredicated fetch zu machen, bekomme ich "'NSInvalidArgumentException', Grund: 'Ungültiges Prädikat: nil RHS'" nur weil der Attributwert 0.0 ist

Das Prädikat wird erstellt mit:

%Vor%

Wie kann ich dieses Problem lösen?

    
Greg 29.09.2010, 16:34
quelle

4 Antworten

5

Sie fügen die Floats als Objekte hinzu, nicht als Floats? Versuchen Sie Folgendes:

%Vor%     
deanWombourne 29.09.2010 16:40
quelle
2

Ich glaube fest daran, dass eine Ihrer Variablen null ist oder eine Autorelease wurde ...

versuche das:

%Vor%

Wenn das erfolgreich ist, liegt das Problem an Ihren Variablen.

Wenn Sie erwarten, dass entweder num1 oder num2 manchmal nil ist, dann könnten Sie das Prädikat wie folgt schreiben:

%Vor%     
Nick 29.09.2010 19:10
quelle
1

Nun, angesichts des von Ihnen bereitgestellten Prädikats lautet die einfache Antwort:

Entweder startNSNumber , endNSNumber oder idString ist null. Wenn Sie etwas mit nil in NSPredicate vergleichen möchten, müssen Sie in [NSNull null] , nicht nil ersetzen.

    
Dave DeLong 29.09.2010 16:41
quelle
0

IN NSpredicate verwendet den String-Wert als float das Dictionary key.floatValue und kann einfach verwendet werden.

%Vor%

Ich mache diesen Beitrag nützlich.

    
PeterParker 05.10.2013 13:06
quelle

Tags und Links