Objective-C是否有比较2个整数或浮点数时可以返回-1,0或1的运算符,函数或方法?

时间:2012-09-09 20:14:24

标签: objective-c

我尝试在Google或Stackoverflow上搜索,但找不到这样的运营商。在C中,我们习惯定义一个cmp宏,但内置了什么?

2 个答案:

答案 0 :(得分:4)

正如@Kashiv所提到的,Objective-C中有100%的C可用。但是,如果您正在使用Cocoa框架并询问更多“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
}

答案 1 :(得分:0)

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