我只是为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/