Instead of using exceptions, wouldn't -(BOOL)respondsToSelector:(SEL)aSelector
work if you test for an NSMutableDictionary mutable method?
Or does that not work with class clusters either(can't try it since I'm not at home)

Devon

[EMAIL PROTECTED] wrote:
Thanks for the reply.

I am aware of why the assertion is never applied but the thread I referenced was several years old and I was hoping that there had been some progress on this.
Maybe not.
I was using this assertion (written some time ago in ignorance) and wasted an afternoon tracking down the fact that it didn't work.
Maybe the only solution is to set up an exception handler.

On 8 Dec 2008, at 17:31, Jonathan Hendry wrote:

It's because NSMutableDictionary is part of a class cluster:

From the NSObject protocol docs:

Be careful when using this method on objects represented by a class cluster. Because of the nature of class clusters, the object you get back may not always be the type you expected. If you call a method that returns a class cluster, the exact type returned by the method is the best indicator of what you can do with that object. For example, if a method returns a pointer to an NSArray object, you should not use this method to see if the array is mutable, as shown in the following code:

// DO NOT DO THIS!
if ([myArray isKindOfClass:[NSMutableArray class]])
{
// Modify the object
}

On Dec 8, 2008, at 12:15 PM, [EMAIL PROTECTED] wrote:

There are a number of posts detailing with the ethics of the issue of determining an object's mutability.
eg: http://www.cocoabuilder.com/archive/message/cocoa/2004/7/7/111173
Does anyone have a current informed pragmatic opinion on how to deal with the following example?

I am not trying to determine program flow by determining mutability, merely trying to limit the number of self inflicted injuries. The following never seems to assert, regardless of whether dict is mutable or not.

NSAssert([dict isKindOfClass:[NSMutableDictionary class]], @"dict is not mutable");

I know that it is my responsibility to remain aware of an object's allocated class but sometimes I find myself wanting.

Jonathan Mitchell

Central Conscious Unit
http://www.mugginsoft.com




_______________________________________________

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/jonhendry%40mac.com

This email sent to [EMAIL PROTECTED]

Jonathan Hendry

Howard Hughes Medical Institute
Maunsell Lab
Harvard Medical School



Jonathan Mitchell

Central Conscious Unit
http://www.mugginsoft.com




_______________________________________________

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/dferns%40devonferns.com

This email sent to [EMAIL PROTECTED]
_______________________________________________

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