0

如果我有一个 UILabel: label1.text (maximum length 6 character) 在这个例子中,GARAGE 是其中的单词。

是否有可能拥有可以使

label1a: G
label1b: A
label1c: R
label1d: A
label1e: G
label1f: E

我需要这个,所以我可以将一个单词中的每个字符与另一个单词中的每个字符进行比较。

这几天一直在为此苦苦挣扎:S

编辑

我有一个随机单词生成器,它生成长度为 6 的单词,例如“GARAGE”或“SAILOR”,它将它生成为一个标签,我们称之为标签:“randomword.text”

现在我们得到了一个输入标签,我们用自己制作的键盘输入的字符显示在其中。这个标签是'input.text'

现在我们可以将这两个标签与 if (randomword.text == input.text') { NSLog: @'these words are the same' };

我想要做的是在 random.text 中分离每个字母:所以 label1 说 G,label2 说 A,label3 说 R,label4 说 A,label5 说 G,label6 说 E。

如果我以与上面使用 random.text 相同的方式分隔我的 input.text,我会得到另外 6 个 UILabel,例如将这个分隔在 label7、8、9、10、11、12 中。现在我可以将标签 1 与标签 7、标签 2 与 8 等进行比较。这样,即使整个单词彼此不相等,我也可以查看字母是否在它们应该在的位置。

4

1 回答 1

1

仍然对所有关于标签的东西感到困惑。我认为您的问题与标签无关,而是与比较字符串或其中的一部分有关。因此,如果您不想检查字符串是否相等使用

[aString isEqualToString:anotherString];(不是==)。

如果要从字符串中提取字母,请使用

[aString characterAtIndex:i];[aString substringWithRange:NSMakeRange(i, i+1)]

如果您想检查一个字母是否在字符串中的某个位置(比如 i),请使用:

NSString *aLetter;
[[aString substringWithRange:NSMakeRange(i, i+1)] isEqualToString:aLetter];

或者

unichar aLetter;
[aString characterAtIndex:i] == aLetter;

如果您想获得 'what's shown on a UILabel' 作为NSStringuse aLabel.text

希望有帮助。

于 2012-04-24T08:51:00.323 回答