将NSString转换为For循环内的字符数组

时间:2012-11-13 10:31:48

标签: objective-c for-loop nsstring char

我正在尝试使用iOS项目中的现有代码来按字母顺序排列数组中的单词列表(例如,将番茄变成amoott,或者堆叠成ackst)。如果我自己运行它,代码似乎有效,但我正在尝试将它集成到我现有的应用程序中。

我希望它按字母顺序排列的每个单词都存储为数组中的NSString。问题似乎是代码将单词作为字符数组,我无法将我的NSStrings转换为该格式。

如果我使用string = [currentWord UTFString],我会收到Array type char[128] is not assignable的错误,如果我尝试在循环内创建char数组(const char *string = [curentWord UTF8String]),我会收到与{{1}相关的警告}}。我不太确定如何绕过它 - 任何提示?方法如下,我将在稍后处理存储字母顺序的版本。

Initializing char with type const char discards qualifiers

1 个答案:

答案 0 :(得分:1)

这应该有效:

- (void)alphabetizeWord {
  char str[128];

  for (NSString *currentWord in wordList)
  {
    int wordLength = [currentWord length];
    for (int i = 0; i < wordLength; i++)
    {
      str[i] = [currentWord characterAtIndex:i];
    }
    // Adding the termination char
    str[wordLength] = 0;
    // Add your word
  }
}
编辑:抱歉,起初并没有完全理解。要检查一下。