在Objective-C中,我可以使用YES或TRUE初始化BOOL变量。有这个原因吗?
BOOL test = false;
BOOL test = NO;
他们是一样的吗?
答案 0 :(得分:3)
true
和false
来自c / c ++
#ifndef __cplusplus
#define bool _Bool
#define true 1
#define false 0
YES
和NO
来自Objective-C
#if __has_feature(objc_bool)
#define YES __objc_yes
#define NO __objc_no
#else
#define YES ((BOOL)1)
#define NO ((BOOL)0)
#endif
答案 1 :(得分:1)
是。 {C}遗留了false
,NO
在惯用的iOS代码和库中更为普遍。