Просто сделал обзор кода и начал задаваться вопросом:
Я думал, что if (self = [super init]) проверяет, было ли успешным или нет присвоение возвращаемого значения [super init] переменной self (значение операции). Таким образом, (self = nil) будет фактически TRUE.
Я думал, что if ((self = [super init])) проверяет, что такое значение self после присваивания (значение переменной). Таким образом, ((self = nil)) будет FALSE.
Какой из них является правильным способом использования при инициализации ваших собственных классов? В документации Apple используется первая (например здесь), стиль которой я фактически использую сейчас.