Would it be correct/ellegant use only alloc without init?
No, just calling alloc
would not be correct. alloc
zeroes out all instance variables of the object, init
then has the chance to set all or some instance variables to their default values. Some classes even use their init
methods to create another instance and return that one instead of the one you allocated.
Many classes expect that their init
methods get called and would possibly cause crashes if you don't call init
. If you are talking about a custom class that inherits directly from NSObject
and needs no initialization of instance variables, you might get away with [myClass alloc]
but it is definitely not good programming style.
I think that it is not a good idea.
Read Cocoa Design Pattern, especially the "Two stage creation"
You can also read this article http://www.informit.com/articles/article.aspx?p=1398610