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