如果我需要比较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“]',那么'=='工作的可能性很低。 –