理解NSString比較以下兩種比較結果均為真:1)@"foo" == @"foo";2)NSString *myString1 = @"foo";NSString *myString2 = @"foo";myString1 == myString2;但是,肯定有兩次NSStringS不能使用相等運算符進行比較,并且[myString1 isEqualToString:myString2]是必需的。有人能解釋一下這件事嗎?
3 回答

互換的青春
TA貢獻1797條經驗 獲得超6個贊
==
NSString
@""
NSString
isEqualToString:
NSString *myString1 = @"foo";NSString *myString2 = @"foo";NSString *myString3 = [[NSString alloc] initWithString:@"foo"]; NSLog(@"%d", (myString2 == myString3)) //0NSLog(@"%d", (myString1 == myString2)); //1NSLog(@"%d", [myString1 isEqualToString:myString2]); //1NSLog(@"%d", [myString1 isEqualToString:myString3]); //1[myString3 release];
NSString *myString3 = [[NSString alloc] initWithString:@"foo"]; // this is same with @"foo"
initWithString:
initWithFormat
,
NSString *myString3 = [[NSString alloc] initWithFormat:@"foo"];

弒天下
TA貢獻1818條經驗 獲得超8個贊
==
@""
isEqual:
isEqual:
isEqualToString:
isEqualToString:

慕桂英546537
TA貢獻1848條經驗 獲得超10個贊
==
ptr == ptr2
isEqualToString
- 3 回答
- 0 關注
- 673 瀏覽
添加回答
舉報
0/150
提交
取消