[NSConcreteValue rangeOfString:]:发送到实例的无法识别的选择器

时间:2016-03-23 10:40:51

标签: ios objective-c

我尝试从字符串中获取范围,例如:

NSString *str  = change[@"new"];
NSLog(@"%@",str);// it will be printed

NSRange range = [str rangeOfString:@"NSPoint"];//the exception uncaughted
NSLog(@"%lu",range.location);  

但后来我有一个例外:

  

由于未捕获的异常而终止应用   'NSInvalidArgumentException',原因:' - [NSConcreteValue   rangeOfString:]:发送到实例的无法识别的选择器   0x7fc258c4f8f0'

如果我将str更改为@"NSPoint: {0, 0}",我感到很困惑 它会起作用吗?! 哦,为什么?

1 个答案:

答案 0 :(得分:1)

尝试

NSString *str  = [NSString stringWithFormat:@"%@",change[@"new"]];

而不是

NSString *str  = change[@"new"];