Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

    they make it impossible to test which a collection is.
Couldn't you just test with the following?

    // NSMutableDictionary
    [dict respondsToSelector:@selector(setObject:forKey:]

    // NSMutableArray
    [arr respondsToSelector:@selector(addObject:)]

    // NSMutableString
    [str respondsToSelector:@selector(replaceCharactersInRange:withString:)]

    // NSMutableSet
    [set respondsToSelector:@selector(addObject:)]
Although, personally, I'd rather just, either at the class or method boundary depending on the circumstances, only expose the non-mutable variants.


None of those work. (Try it.) The reason is that NSMutableXXXX is a wrapper around an underlying Core Foundation "object". You'll always get success from the Objective C level and then an exception when you try the action from the CF level.

Example SO question: http://stackoverflow.com/questions/1788690/objective-c-how-t...

Another example discussion: http://www.cocoabuilder.com/archive/cocoa/224795-nsdictionar...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: