It's astonishing to see in the comments here the diatribes that some will level at technologies they clearly don't understand.
I've already provided a response on the subject elsewhere and don't want to repeat it, but to summarise:
(Assuming that the properties feature, and in particular the syntax, follows something akin to that described here.)
The "dot syntax" is just one aspect of the properties feature. If you don't want to use it, continue to use square brackets just as you do now.
The more significant aspect is that you can declare an object's properties (instance variables) in a way that makes information about the property immediately explicit. By looking at a header file you will quickly be able to tell that a particular instance variable is considered a property of an object, that assigned values are copied as opposed to retained, and so on. Even better, you can leave it to the compiler to create the corresponding accessor methods based on the specification you provide in the property declaration.
Properties thus supports a much more declarative style of programming. The intent is made explicit. This is of benefit not just to the originator of the code (who reaps the benefit of a considerable reduction in code size) but also of the consumer who can see immediately the properties that a class has and in turn what attributes and behaviours those properties themselves have.
by mmalc — Jan 03
I've already provided a response on the subject elsewhere and don't want to repeat it, but to summarise:
(Assuming that the properties feature, and in particular the syntax, follows something akin to that described here.)
The "dot syntax" is just one aspect of the properties feature. If you don't want to use it, continue to use square brackets just as you do now.
The more significant aspect is that you can declare an object's properties (instance variables) in a way that makes information about the property immediately explicit. By looking at a header file you will quickly be able to tell that a particular instance variable is considered a property of an object, that assigned values are copied as opposed to retained, and so on. Even better, you can leave it to the compiler to create the corresponding accessor methods based on the specification you provide in the property declaration.
Properties thus supports a much more declarative style of programming. The intent is made explicit. This is of benefit not just to the originator of the code (who reaps the benefit of a considerable reduction in code size) but also of the consumer who can see immediately the properties that a class has and in turn what attributes and behaviours those properties themselves have.