Используйте самое конкретное, что вы можете. Используйте NSObject *, если вы знаете , что это экземпляр
NSObject, а не, скажем, NSProxy.
Используйте NSView <AProtocol>*
, если вы знаете, что экземпляр является подклассом NSView.
Однако это не имеет ничего общего с -релизом. Если вам требуется протокол для определения метода выпуска, то есть для объекта не имеет смысла реализовывать этот интерфейс, если он также не реализует протокол NSObject, включите протокол NSObject в определение AProtocol, как демонстрирует @Bavarious. .