Objective C String Comparison。奇怪的行为?

时间:2014-05-06 00:47:04

标签: ios objective-c nsstring

我只是对if条件进行了一个简单的旧字符串比较,我得到了一个奇怪的行为。在控制台中,我得到了以下内容并从座位上掉下来。

(lldb) po [@"Puc X-1234" rangeOfString:@"Puc"]
nil

这怎么可能?

1 个答案:

答案 0 :(得分:6)

rangeOfString:返回NSRange,这不是对象,但po用于打印对象

尝试p (NSRange)[@"Puc X-1234" rangeOfString:@"Puc"]

打印nil的原因是返回的NSRange(0,3),然后调试器采用0部分并假设它是id类型,并打印nil