I’ve been reading a little bit about this and what I don’t understand is why people adds class extensions to make a method private.
Wouldn’t it suffice to just leave it out from the header file?
It looks to me to be enough, but I might be missing a bigger point?
Short answer: now (as of Xcode 4.4, I think), you don’t. Reason: you don’t need to forward declare methods. Put your private methods in your .m file, and you’re done.
Previously (Xcode 4.3 and older), you had to forward declare your methods before you could call them. Because you already declared the class in the .h file, you can’t declare it again in the .m file, so a class extension is the way to add methods to an already declared class.
Edit: as @Yar mentioned above (and below), a private method in a .m file that isn’t declared would not be visible to subclasses of that class, meaning it would be impossible for that subclass to call or override that method. Still, I’d be inclined to just not bother declaring it, unless/until you end up with a subclass that needs to override or call it. For me this happens pretty infrequently.