Objective-C:比较NSMutableArrays中的普通字符串和字符串

时间:2011-04-09 08:58:16

标签: iphone objective-c cocoa-touch nsmutablearray nsarray

我对字符串感到困惑(初学者的问题,我很害怕):

我有一个名为Notebook的NSMutableArray。在索引位置1,我有一个对象,我认为它是一个字符串。至少我把它放到这个数组中:

[NoteBook replaceObjectAtIndex:1 withObject:@"x-x-x-x"];

到目前为止一切顺利。如果我将它放入UILabel,它将在我的屏幕上显示x-x-x-x。当我尝试将此字符串与其他字符串进行比较时,噩梦就开始了。让我们考虑一下,我不想在屏幕上显示字符串x-x-x-x,而只是想要一个空白。所以我认为我可以通过编码来实现这一目标:

    NSString *tempDateString;
tempDateString = [NSString stringWithFormat:@"%@",[NoteBook objectAtIndex:1]];

if (tempDateString == @"x-x-x-x") {

        UISampleLabel.text = @"";

    }

由于某种原因,这不起作用,即即使我的数组的第1位的字符串是'x-x-x-x',它仍然不会将我的UISampleLabel设置为空。

我想我对@“”标记感到困惑。我什么时候真的需要它们?为什么我不能在没有格式化的情况下简单地编码tempDateString = [NoteBook objectAtIndex:1];

非常感谢任何帮助和建议!

2 个答案:

答案 0 :(得分:3)

您需要将字符串与 isEqualToString

进行比较
if ([tempDateString isEqualToString:@"x-x-x-x"]) {
  UISampleLabel.text = @"";
}

答案 1 :(得分:1)

除了已经回答的问题:

  

为什么我不能简单地编码tempDateString = [NoteBook objectAtIndex:1];而没有格式化的东西?

你可以。为什么你认为你做不到?