1

我尝试在 Google 或 Stackoverflow 上搜索,但找不到这样的运算符。在 C 中,我们曾经定义过一个cmp宏,但是有内置的东西吗?

4

2 回答 2

4

正如@Kashiv 提到的,100% 的 C 在 Objective-C 中可用。但是,如果您正在使用 Cocoa 框架并询问更“可可”的方法,则 NSNumber 有一个compare:方法,它返回一个NSComparisonResult,它可以是 -1、0 或 1。

但是,如果我们在编程中完全是 Cocoa,我们应该进一步从 -1、0 和 1 的具体知识中抽象出来,并使用常量 NSOrderedAscending、NSOrderedSame 和 NSOrderedDescending。这些是语义命名的,这就是以这种方式编程的真正价值。

NSComparisonResult order = [myInt compare:anotherInt];
switch(order) {
  case NSOrderedAscending:
    // myInt is greater than anotherInt
  break;
  // ... etc
}
于 2012-09-09T20:22:57.997 回答
0

在 C 中可以做的任何事情,都可以在 Objective-C 中完成。

于 2012-09-09T20:18:13.803 回答