设为首页 加入收藏

TOP

Objective-C 中对象的等价与同值的区别
2014-11-23 19:33:07 来源: 作者: 【 】 浏览:15
Tags:Objective-C 对象 区别
对象的等价与同值

1.两个不同的实例对象中保存了相同的值的情况,被称为“同值”。
2.如果两个实例本身完全相同的情况下,被称为“等价”。

//判断两个实例对象是否等价直接用“==”运算符
id objA,objB;
objA = @"ggggggg";
objB = objA;
if(objA == objB){

NSLog(@"objA与objB等价");

}

//在NSObject类中提供了判断同值的通用方法,名为isEqual:具体例子如下


NSArray *a1 = [NSArray arrayWithObjects:@"one",@"two",@"three",@"four", nil];

NSArray *b1 = [NSArray arrayWithObjects:@"one",@"two",@"three",@"four", nil];
if (a1 == b1) {
NSLog(@"YES");
}
else{
NSLog(@"NO");//显示结果为NO
}
BOOL res;
res = [a1 isEqual:b1];

NSLog(@"a1与b1同值%d",res);//结果是YES

总结:

除了在根类NSObject中提供的isEqual:方法外,在NSString中还提供了名为isEqualToString:的方法。两个对象比较时,推荐用后者。
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C语言中基本整型数据类型 下一篇C语言 结构体相关 函数 指针 数组

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: