Objective-C使用YES和NO代替1和0是否有任何技术原因,或者仅仅是为了使其更具可读性?
我的理解是,在基于C的Objective C中,所有BOOL基本上都是短路(-127到128),零是"FALSE"或"NO"的唯一值.但是,当我最近尝试根据位掩码设置按钮的选定值时,它会失败.为什么?
NSInteger bitfield = 127;
NSInteger bitmask = 1 << 6; // 64
myButton.selected = bitfield & bitmask; // selected will remain NO
Run Code Online (Sandbox Code Playgroud)