如果我需要比較NSString屬性與由#define
定義的常量字符串,我可以使用雙等號嗎?將NSString與常量#define字符串進行比較:isEqualToString or ==?
我知道isEqualToString:
會的工作,只是不知道是否==
也適用,比如以下兩種情況:
方案1:
#define BLA @"BLA"
NSString *str1 = BLA;
BOOL equal = self.someStr == BLA;
方案2:
#define BLA @"BLA"
NSString *str1 = @"BLA";
BOOL equal = self.someStr == BLA;
他們是一樣的嗎?
我假設你的意思是使用'isEqualToString:'這些場景之一。 –
@JackLawrence可以是第三方案 – hzxu
對於方案1,在單個類文件中,'=='幾乎肯定會起作用。對於情景2,可能是簡單的形式。但是,如果場景2中的第二個'@「BLA''正好代表'[NSString stringWithFormat:@」BL%@「,@」A「]',那麼'=='工作的可能性很低。 –