I understand that methods available for other classes to call should be in the header file..but I’m a little confused when the @property should be in the header file and when it should be in the implementation file.
How do you make that decision, and what difference does it make?
Any property that you want publicly exposed to the other classes goes in the .h file. The ‘private’ properties (pun intended) go in the implementation file in a anonymous category or class extension. You might also make the .h version of the property readonly for example, and the .m version readwrite.
An implementation file with properties defined in a Private Category