Reasons not to use _Bool in Objective-C?
问题 Since C99, C now has a proper Boolean type, _Bool . Objective-C, as a strict superset of C, inherits this, but when it was created back in the 1980s, there was no C Boolean type, so Objective-C defined BOOL as signed char . All of Cocoa uses BOOL , as does all non-NeXT/Apple Cocoa code that I've seen. Obviously, for compatibility with existing protocols (e.g., -applicationShouldTerminateAfterLastWindowClosed: from NSApplicationDelegate ), matching the already-declared type is preferable, if