【问题标题】:How to convert characters in an NSString into elements of an NSSet?如何将 NSString 中的字符转换为 NSSet 的元素?
【发布时间】:2013-08-11 20:57:48
【问题描述】:

我有一个字符串,例如“abbaaxaa”,我希望将字符串中的字符转换为一个集合,使其元素为“a”、“b”和“x”? (我是一个菜鸟编码器,我只是想用这个实现来表示字典的键,如果上下文很重要的话)。

到目前为止,我也有关于我尝试过的代码,但它有错误(即在初始化集合和表达式语法的地方),我不知道如何去实现它......我只知道我正在使用返回 NSSet 的类 (+) 方法。

【问题讨论】:

  • 使用NSMutableSet。逐个字符循环遍历字符串,实现循环体读取类似[set addObject:[str substringWithRange:NSMakeRange(idx, 1)]]
  • @H2CO3 这就是我所说的专业答案,你用上面几行切断了任何其他答案的道路;)
  • @Tarek 添加它作为答案,我看到它很感激。

标签: ios nsstring character nodes nsset


【解决方案1】:

使用NSMutableSet。逐个字符循环遍历字符串,实现循环体读取类似

[set addObject:[str substringWithRange:NSMakeRange(idx, 1)]]

【讨论】:

  • 谢谢,但我应该返回一个 NSSet,那么有没有办法将 NSMutableSet 转换为 NSSet?另外,我不确定我的错误在哪里。它说“方法调用的参数太多,预期为 1,有 2”,在“i”和“1”下...这是我正在使用的代码: { // class stuff method defined NSString variablesInSet NSMutableSet* variableSet ; for (int i = 1; i
  • @user2669453 facepalm 1. 你似乎在假设你需要NSMakeRange 的魔法(显然你没有费心阅读我的回答完全)。 2. 阅读多态性。 NSMutableSet 继承自 NSSet。 3. 冰山一角:你有一个错误,你应该从0循环到length,而不是从1length + 1......无法挽救,绝望......你是还没准备iOS开发,先学点C吧。 (并且尝试自己解决琐碎的编译器错误,使用谷歌并思考问题。)
  • 我不知道怎么说这完美地解决了我在更大代码中的子问题哈哈......这是我的第一个评论线程......好吧,谢谢 - 是的,误读了;我在假设魔法哈哈!
  • @user2669453 Blehh,至少它现在可以工作了,不客气。
猜你喜欢
  • 2015-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多