以下比较均评估为真:
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]而是需要它.有人可以对此有所了解吗?
在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开发的新手,所以也许它非常简单明了.如果是这样的话,请不要介意.
提前致谢.
我在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)