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

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


怎么会这样?

最佳答案

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

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

打印nil的原因是返回的NSRange(0,3),然后调试器将0部分假定为id类型,然后打印nil

关于ios - objective-c 字符串比较。行为怪异?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23484212/

10-09 02:21