Рекомендуется использовать instancetype
в качестве возвращаемого значения init
и связанных методов, см. последнюю функции clang. Однако, какова наилучшая практика w.r.t. возвращаемое значение copyWithZone:
в протоколе NSCopying
(см. эту ветку для предыдущих рекомендаций) ? Это не упоминается в правилах вывода класса из схемы именования методов в статье clang, но я не понимаю, почему оно должно отличаться от возвращаемого значения метода alloc
.
Вывод типа не работает для copy
-методов? Должны ли мы по-прежнему возвращать instancetype
или, скорее, конкретный тип класса, который мы на самом деле возвращаем?