In an .h file, what is the difference between:
@interface ViewController : UIViewController
@property (strong, nonatomic) UIView* myView;
And <
The main difference is that a @property is visible to other objects, and can be accessed by these using an instance of your class.
You can use @synthesize in your implementation file to automate definition de getter setter functions in your implementation.
Updated (following @Graham Lee's suggestion)
According to the visibility specifier for your instance variable (@protected / @private / @public) , the ivar can be used in your implementation file, subclasses or other classes. The implicit value is @protected, so in your example it will be visible to your implementation file and subclasses.
The first one is the declaration of a property, whereas the second is only a ivar. A property is the automatic declaration of a getter and a setter for an ivar, but if there is not ivar (like in your first example) the property will create the ivar too.