我可以对NSComparisonResult使用'> ='吗?

str*_*nut 1 objective-c ios

我想检查NSComparisonResult是否小于或等于iOS.

1.

NSComparisonResult result = blabla...;
if (result == NSOrderedAscending || result == NSOrderedSame) {...}
Run Code Online (Sandbox Code Playgroud)

2.

NSComparisonResult result = blabla...;
if (result <= NSOrderedSame) {...}
Run Code Online (Sandbox Code Playgroud)

我可以使用选项1,但是,我可以使用选项2吗?我设计它是因为NSComparisonResult它只是NSInteger; NSOrderedSame是0,NSOrderedAscending是-1,NSOrderedDescending是1.

rma*_*ddy 6

如果你小心,选项2可能会起作用.目前还不清楚是什么<=意思,>=因此令人困惑.对enum值进行任何假设都远非理想.

选项3是一个更好的选择:

NSComparisonResult result = ...
if (result != NSOrderedDescending) {
    // It's either ascending or same
}
Run Code Online (Sandbox Code Playgroud)