В то время как у вас есть , возможно, сможет уйти с использованием bool вместо BOOL для ваших нужд, вы можете столкнуться с проблемами с передачей «bool» чему-то другому (например, публичному API-методу). Вы должны просто придерживаться BOOL при написании кода Objective-C, в основном для будущей проверки.
Но я не думаю, что что-то взорвется, если вы это сделаете, это просто очень не рекомендуется и не следует ни одному из соглашений Objective-C.
В качестве побочного примечания формат BOOL YES или NO является своего рода предложением, у меня была плохая привычка устанавливать BOOL в TRUE или FALSE (обратите внимание на все прописные буквы), и это не проблема. Вы также можете использовать 1 или 0.
Все это действует:
BOOL myBool;
myBool = YES; // true
myBool = TRUE; // true
myBool = 1; // true
myBool = NO; // false
myBool = FALSE; // false
myBool = 0; // false
Технически, myBool = 'Z' одинаково важен, но против семантики BOOL использовать ничего, кроме YES и NO. – Chuck