And*_*rew 1 iphone objective-c nsstring ios
这是我的代码:
NSLog(@"name: %@", name);
NSLog(@"service: %@", service.name);
if (name == service.name) {
NSLog(@"Test");
}
Run Code Online (Sandbox Code Playgroud)
名字是"安德鲁的MacBook Pro".服务是"安德鲁的MacBook Pro"
然而,我没有从NSLog获得"测试".任何想法为什么会这样?
对于字符串比较,请使用 [name isEqualToString:service.name]
使用==将比较以查看两个指针是否指向同一个对象,而不是它们指向具有相同内容的对象.即使两个指针都包含相同的字符串,也不意味着它们指向同一个对象.
如果两个人都有同一辆车,并且有相同的钥匙来解锁它,两个钥匙都不相同,不会打开两辆车; 每个人只会打开制作它的汽车.如果一个人有车但是有一把额外的钥匙,他们是相同的,因为他们打开同一辆车(物体).你可以用这种方式思考指针.
| 归档时间: |
|
| 查看次数: |
540 次 |
| 最近记录: |