Was ist der Schnellste Weg zu vergleichen, eine NSUInteger mit einem int (z.B. 5) in objective-c?
Was ist der Schnellste Weg zu vergleichen, eine NSUInteger mit einem int (z.B. 5) in objective-c?
Hintergrund - ich bin feststellend, dass die folgende Zeile von code gibt einen Fehler:
STAssertEquals([nsMutableArrayInstance count], 5, @"xxxx");
//gives Type Mismatch
Also, was ich verlange effektiv ist, wie dies zu korrigieren, um den Fehler zu beheben...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Anstatt
STAssertEquals
könnten SieSTAssertTrue
:STAssertEquals([nsMutableArrayInstance count], (NSUInteger)5, @"xxxx")
.STAssertTrue
ist, dass, wenn es scheitert, wird es nicht sagen, was der tatsächliche Wert war.5U
wie @JonReid schlägt.STAssertEquals
erfordert, dass Sie vergleichen, wie Typen wie Sie Typen. So fügen Sie ein "U", um die Zahl zu einem unsigned literal:Alternativ können Sie OCHamcrest zu sagen:
Verwenden
(NSUInteger)5
sieht nicht so sauber wie5U
aber es wird auch korrekt beim kompilieren für 64-bit.