Jim*_*ery 2 equality objective-c
作为一个Javascript程序员,它已被打入我的脑袋,===而不是==尽可能使用.
当我学习Objective C时,即使在官方文档中,我也只看到==被使用.
我的问题是,我是否应该继续在Objective C代码中使用严格相等的习惯?它是否与Javascript一样必要?我认为严格的平等会略微提升性能,但是在Objective C中,这种提升太小而不能产生太大影响吗?
这很简单,在Objective C中,你没有===运算符.
您通常不使用==来比较对象,因为它会比较指针值,而不是对象的值.所以,如果你想比较两个字符串,你应该使用:
[stringObject isEqual:@"the string"];
Run Code Online (Sandbox Code Playgroud)
这比较字符串值,而不是指针.但是有正当理由使用==运算符来比较对象.许多委托回调都将sender对象作为参数.例如,如果要使用一个控制器实现多个tableview,则需要检查哪个tableview正在调用您的方法:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
if (tableView == self.firstTableView) {
...
}
if (tableView == self.secondTableView) {
...
}
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1500 次 |
| 最近记录: |