如何知道Iphone上Objective C中变量的类型?

时间:2010-09-29 10:57:31

标签: iphone objective-c cocoa-touch

例如,如果我有一个类似函数sort():

+ (void) sort: (id) a {
 if(typeof(a) == 'NSArray')
  { ... }
}

因此Iphone的Objective C中有什么东西可以代替typeof(),这样我就可以事先检测出我处理的变量是什么类型的?

2 个答案:

答案 0 :(得分:3)

[a isKindOfClass:[NSArray class]]

沉思。

我想指出的是,在你的情况下,简单地输入方法参数更有意义,而不是采用id并检查它的类型,即。

+ (void)sort:(NSArray *)a

答案 1 :(得分:1)

NSObject协议具有您感兴趣的比较方法。