【问题标题】:NSString stringByReplacingOccurrencesOfString failsNSString stringByReplacingOccurrencesOfString 失败
【发布时间】:2012-05-14 08:35:00
【问题描述】:

我正在尝试使用 stringByReplacingOccurrencesOfString 将一个字符串替换为另一个字符串,但由于某种原因它给了我这个错误:

-[__NSCFNumber 长度]:无法识别的选择器发送到实例 0x6e49ef0 2012-05-14 16:30:49.741 coop[78129:f803] * 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[__NSCFNumber 长度]:无法识别的选择器发送到实例 0x6e49ef0”

NSString *_currentGroup;
NSString *location = [current objectForKey:@"location"];
if(_currentGroup != nil) 
{
    NSLog(@"_currentGroup: %@", _currentGroup);
    // OUTPUT: _currentGroup: 92

    location = [location stringByReplacingOccurrencesOfString:@"%group_id%" withString:_currentGroup];
}

当我尝试以下操作时,它就可以工作

location = [location stringByReplacingOccurrencesOfString:@"%group_id%" withString:@"anyOtherString"];

我还是错过了什么吗?

【问题讨论】:

  • 执行 NSLog(@"_currentGroup: %@", _currentGroup);实际上给 OUTPUT: _currentGroup: 92
  • Jup,这就是我从中得到的输出。
  • 你没有初始化_currentGroup
  • 我什至需要初始化它吗? stackoverflow.com/questions/3801156/…

标签: ios string replace


【解决方案1】:

你的“NSString”实际上是一个NSNumber。这就是错误告诉你的内容。

【讨论】:

  • 啊,原来我从datafeed返回的结果是一个int,把它转换成字符串解决了这个问题。
猜你喜欢
  • 2023-04-09
  • 2012-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多