我的游戏有一个接收字符串的方法。从 iOS7 开始,它有时会在其中崩溃。
在该方法中,我调用lowercaseString
了该字符串,然后它以EXC_BAD_ACCESS
.
-(void)changeDirection:(NSString *)_direction {
if (![[direction lowercaseString] isEqualToString:[_direction lowercaseString]]) {
}
}
我注意到的是,这些时候这个字符串似乎是一个内存地址:
这就解释了它为什么会崩溃——我正在调用lowercaseString
一个内存地址。
现在,最合乎逻辑的解决方案是看看为什么这个方法接收的是内存地址而不是实际的字符串,我猜。
但是,就目前而言,我想做一个快速的解决方法,这导致了这个问题:
如何检测给定参数是实际的字符串对象@"Hello"
还是内存地址?