2016-05-28 2 views
-1

Я хочу проверить, что NSComparisonResult меньше или равно iOS.Могу ли я использовать '> =' для NSComparisonResult?

1.

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

2.

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

я могу использовать вариант 1, но, могу ли я использовать вариант 2? Я разработал его, потому что NSComparisonResult - всего лишь NSInteger; NSOrderedSame is 0, NSOrderedAscending is -1, NSOrderedDescending is 1.

ответ

5

Вариант 2 может работать, если вы будете осторожны. Неясно, что означает <= против >=, так что это сбивает с толку. И это далеко не идеально, чтобы делать какие-либо предположения относительно значений enum.

Вариант 3 является лучшей альтернативой:

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

Да, это лучшая идея. Спасибо. – strawnut

Смежные вопросы