Brett Powley wrote:
MyAppDelgate *ad = [NSApp delegate];
then do something with [ad myMutableArray]

Incorrect. You don't get accessors for instance variables automatically like that.

Well yes, but I assumed that his problem was that he didn't know how to get at the application delegate from his views, not that he didn't know how to write accessors. (How do you know that myMutableArray isn't an accessor method anyway?)

Key-Value Coding to the rescue. If you at least know the ivar name, you can do:

NSMutableArray *ma = [[NSApp delegate] valueForKey:@"myMutableArray"];

This looks quick and dirty, but in some cases KVC comes in handy. Remember to check the class of the returned value if you're not sure. Using KVC, you can read/modify any ivar of any object regardless of whether it has an accessor method defined or not. Not that I recommend this approach, though (for ethical reasons, mainly :-))

Florent

_______________________________________________

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