程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> Objective-C 中對象的等價與同值的區別

Objective-C 中對象的等價與同值的區別

編輯:關於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:的方法。兩個對象比較時,推薦用後者。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved