New to Cocoa and Objective-c.
Do I need getters and setters if I’m depending on garbage collection?
For example is it safe to just modify instance variables directly without the dot syntax?
And in the dealloc method can I sent them to nil instead of release (or do I even have to release them)?
Property (Getters and setters) is a mean of encapsulation, and ivar is an implementation detail.
Accessing via properties allow you to change the internal design while keeping the interface unchanged.
Whether the program has GC enabled or not, you shouldn’t access ivar directly externally (internally is fine).
(Also, the
-deallocmethod is ignored if GC (not ARC) is enabled. You could implement-finalize. But the GC should be smart enough to clean the no-longer-needed ivars, whether to set them tonilor not.)