无法识别的选择器发送到iOS7中的实例异常

时间:2014-12-02 05:13:06

标签: objective-c iphone ios7 nsstring

我需要检查String是否包含特定字符串。为此,我使用名为c containssstring 的NSString类函数。这个函数在ios8中工作正常,没有抛出任何异常但是在ios7的情况下它抛出一个名为

的异常
 unrecognized selector sent to instance 

我用过try& catch阻止以防止异常,但我可能知道为什么会发生这种情况吗?

提前致谢

2 个答案:

答案 0 :(得分:14)

您可以检查框架标题。 enter image description here

- (BOOL)containsString:(NSString *)aString NS_AVAILABLE(10_10, 8_0);

这个containsString方法只存在于iOS 8之后,所以很明显它会在iOS7中抛出错误....

请使用ios7的以下方法,您可以使用ios8的上述方法:

if ([string rangeOfString:@"bla"].location != NSNotFound)
{
  NSLog(@"charecter found");
} 

可能这可以解决您的问题。 感谢

答案 1 :(得分:2)

检查从数组中检索的String是否不是nil。它会解决你的问题。

使用以下代码可能会解决您的问题。

NSString *Test=arr_sub[0];
if(Test!=nil && [Test containsString:@"::"])
{
    NSlog(@"charecter found");
}

如果您遇到任何其他问题,请告诉我。