Alloc : Class method of NSObject. Returns a new instance of the receiving class.
Init : Instance method of NSObject. Implemented by subclasses to initialize a new object (the receiver) immediately after memory for it has been allocated.
New : Class method of NSObject. Allocates a new instance of the receiving class, sends it an init message, and returns the initialized object.
alloc goes with init
new = alloc + init
The only benefit to using +new is that it is more concise. If you need to provide arguments to the class's initialiser, you will have to use the +alloc and -initWith... methods instead.
- new doesn't support custom initializers
- alloc-init is more explicit than new
General opinion seems to be that you should use whatever you're comfortable with.