On 23/09/2011, at 5:20 AM, Seth Willits wrote:

> On Sep 20, 2011, at 6:00 PM, douglas welton wrote:
> 
>> I'm not sure that my solution is any "less messy" than what you have 
>> suggested, but... when faced with this same situation, I gave the save panel 
>> a different title each time it was invoked. When the panel object was passed 
>> to my delegate, I could tell where the panel was being used by the title of 
>> the inbound object.  No need for subclasses or additional retains.
> 
> 
> 
> You could use Obj-C associated objects for the same effect with your own 
> property instead of reusing title.

Can you elaborate? I'm not sure what you mean by this.


> Another simple way of solving the original problem is to have an instance 
> variable for the sheet and use a comparison to distinguish them in the 
> delegate methods. 


I specifically didn't want to use that solution because the class is spread 
across numerous categories and adding ivars to support stuff in categories is 
troublesome from a code management point of view. Apart from that, adding an 
ivar breaks the otherwise extremely neat encapsulation of the task into a 
single method that has no external references - blocks make that possible, but 
the need for a delegate somewhat undermines that benefit.

Kyle's solution was fine for my case, so it's a solved issue.

--Graham


_______________________________________________

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 arch...@mail-archive.com

Reply via email to