2016-05-28 6 views
-1

Ich möchte überprüfen, dass NSComparisonResult in iOS kleiner oder gleich ist.Kann ich '> =' für NSComparisonResult verwenden?

1.

NSComparisonResult result = blabla...; 
if (result == NSOrderedAscending || result == NSOrderedSame) {...} 

2.

NSComparisonResult result = blabla...; 
if (result <= NSOrderedSame) {...} 

I 1 Option verwenden können, aber, kann ich die Option 2? Ich habe es entworfen, weil die NSComparisonResult nur NSInteger ist; NSOrderedSame ist 0, NSOrderedAscending ist -1, NSOrderedDescending ist 1.

Antwort

5

Option 2 kann funktionieren, wenn Sie vorsichtig sind. Es ist nicht klar, was <= bedeutet im Vergleich zu >= so ist es verwirrend. Und es ist bei weitem nicht ideal, Annahmen über die enum Werte zu treffen.

Option 3 ist eine bessere Alternative:

NSComparisonResult result = ... 
if (result != NSOrderedDescending) { 
    // It's either ascending or same 
} 
+0

Ja, das ist bessere Idee. Vielen Dank. – strawnut

Verwandte Themen