在 Objective-C 中,我可以用 YES 或 TRUE 初始化 BOOL 变量。是否有一个原因?
BOOL test = false;
BOOL test = NO;
他们是一样的吗?
在 Objective-C 中,我可以用 YES 或 TRUE 初始化 BOOL 变量。是否有一个原因?
BOOL test = false;
BOOL test = NO;
他们是一样的吗?
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
是的。false
是从 C 中遗留下来的,NO
在惯用的 iOS 代码和库中更为普遍。