【问题标题】:no visible @interface for NSMutableString declares the selector 'subStringWithRange' error [closed]NSMutableString 没有可见的@interface 声明选择器“subStringWithRange”错误 [关闭]
【发布时间】:2013-11-28 06:10:47
【问题描述】:

我想要下面字符串中的前三个字符。 我的代码如下。

NSMutableString *str = @"test123";
NSMutableString *strTest = [str subStringWithRange:NSMakeRange(0,2)];

但是我收到了这个错误

NSMutableString 没有可见的@interface 声明选择器 subStringWithRange 错误

提前感谢您提供正确的解决方案。

【问题讨论】:

  • 查看文档以获取方法的实际名称。提示:大小写很重要。
  • 建议 - 利用 Xcode 的代码完成功能。这将有助于避免这样的小错误。
  • NSMutableString *strTest = [str substringWithRange:NSMakeRange(0,2)];
  • 这个问题似乎是题外话,因为它是关于一个错字。
  • 顺便说一句。您的第一行应该已经给出了编译器错误(字符串文字不可变)。

标签: objective-c string nsmutablestring


【解决方案1】:

改用NSString

NSMutableString *str = @"test123" ;
NSString *strTest = [str substringWithRange:NSMakeRange(0,2)];

【讨论】:

  • 不。该方法也在 NSMutableString 上。
  • NSString 没有编译错误
  • 你为什么在第一行使用stringWithFormat:?完全没有意义。
  • 我的错是 subStringWithRange(大写的 S)。如果我把它做得更小,它对 NSString 和 NSMutableString 都有效。无论如何感谢您的快速回答。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-05
相关资源
最近更新 更多