On Dec 5, 2008, at 10:55 PM, Jerry Krinock wrote:

On 2008 Dec, 05, at 18:40, Chris Hanson wrote:

Dot syntax compiles to objc_msgSend* just like bracket syntax does. However, it must see either getter/setter declarations or an @property declaration to know what selector to put in the objc_msgSend* that it compiles to.

I understand why this must be so, but it makes the dot syntax difficult to use in practice. When writing a message, I have to stop and think, "Gee did I declare that as a property or not?" If I'm not sure, and have to click to my documentation, it's faster to just put in the square brackets.

Also, it seems to me that that dot syntax makes more fragile code. For example, say that I declare a 'name' property. Then, next week I decide that I need a more granular name, so replace this property with a firstName and lastName property, and a -name accessor which concatenates firstName and lastName.

Why would you refactor your code so that name is no longer a property?

Name is still a conceptually a property, but it is dependent on firstName and lastName, and read only now.

@property(nonatomic, copy) NSString *firstName;
@property(nonatomic, copy) NSString *lastName;

@property(nonatomic, readonly) NSString *name;  /* or fullName */

Jim
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to