在Objective-C中判斷兩個變量是否相等有兩種方法,壹種是直接用“= =”進行比較,另壹種是“isEqual”方法。以下是他們的介紹:
1,“= =“方法:
當= =用於判斷兩個變量是否相等時,如果是基本類型變量且都是數值型(類型可以不同),只要值相等就返回true
如果兩個指針類型變量(如OC對象)必須具有相同的內存地址才能返回true,並且如果使用此方法來判斷兩個沒有繼承關系的指針變量,則會提示警告:不同指針類型的比較(xxxx和yyyy)。
2.“isEqual”方法:
此方法是由NSObject類提供的實例方法,因此所有指針變量都可以調用此方法來確定它是否等於其他指針變量。但是,這個方法和“= =”符號沒有區別,它也需要兩個指針變量指向同壹個對象才能返回true。因此,這個NSObject類提供“isEqual”的實例方法實際上沒有太大意義。
但需要特別提到的是,NSString重寫了NSObject的“isEqual”方法。判斷標準不再是兩個指針變量保存的內存地址相同並返回true,而是兩個字符串只要包含相同的字符序列就返回true,否則返回false。