相关疑难解决方法(0)

了解NSString比较

以下比较均评估为真:

1)

@"foo" == @"foo";
Run Code Online (Sandbox Code Playgroud)

2)

NSString *myString1 = @"foo";
NSString *myString2 = @"foo";
myString1 == myString2;
Run Code Online (Sandbox Code Playgroud)

但是,肯定有时候NSString使用等于运算符无法比较两个s,[myString1 isEqualToString:myString2]而是需要它.有人可以对此有所了解吗?

cocoa objective-c string-comparison nsstring

82
推荐指数
4
解决办法
10万
查看次数

Xcode中Objective-C中的IF语句

在Xcode中,我试图创建一个按钮来改变它的文本,相对于当前的文本.例如:如果按钮显示"1"并按下它,我希望文本更改为"2"和"2"更改为"3"等等,这里是给我带来麻烦的代码片段:

if (magicButton.titleLabel = @"1") {
    [magicButton setTitle:@"2" forState:UIControlStateNormal];
}
Run Code Online (Sandbox Code Playgroud)

Xcode在片段的第一行给了我这个错误"Asson to readonly property".我是Objective-C和iPhone App开发的新手,所以也许它非常简单明了.如果是这样的话,请不要介意.

是我的实现文件粘贴,如果它会有所帮助.

提前致谢.

iphone xcode if-statement objective-c

0
推荐指数
1
解决办法
1万
查看次数

为什么字符串比较不返回true?

可能重复:
比较Cocoa中的字符串
为什么这段代码不能识别NSString是否相等?

我在NSUserDefaults中将值设置为@"YES".当我运行这个方法时......

- (void) checkForHint {
    NSLog(@"call:checkForHint");
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    NSLog(@"valueForKeyInDefaults:%@",[defaults valueForKey:@"giveHint"]);
    if ([defaults valueForKey:@"giveHint"] == @"YES") {
        NSLog(@"need to give hint");
        // replace a letter at random
        int i=0;
        bool found = NO;
        while (!found && i<NUM_CHARACTERS_IN_LEVEL_STRING) {
            NSLog(@"searching at index %i",i);
            if ([buttons objectAtIndex:i] && 32==[[levelSavedSolutionArray objectAtIndex:i] intValue]) {
                found = YES;
            }
            i++;
        }
        i--;
        // We need to select all the buttons at this unsolved space
        [self buttonClicked:[buttons objectAtIndex:i]];
        // update the …
Run Code Online (Sandbox Code Playgroud)

string equals objective-c

-1
推荐指数
1
解决办法
139
查看次数