On Fri, May 20, 2011 at 11:20 AM, Dr. H. Nikolaus Schaller < [email protected]> wrote:
> > Am 20.05.2011 um 18:03 schrieb Stefan Bidi: > > > Earlier today I committed the first set of changes to CFString. It now > uses libicu instead of NSString. This will allow a lot of extra > functionality to work, include any of the functions that use CFLocale. > Anyway, that's just the background. > > > > In order to make this work, I moved __CFStringMakeConstantString() to > CFString.c and changed it to use CFDictionary instead of NSSet (CFSet > doesn't yet exist). When I did that, I started getting an exception > whenever trying to add anything to the dictionary (CFString.c:1173). It > took me a while to figure it out, and it is due to GSDictionary setting > GSI_MAP_RETAIN_KEY() being set to call -copyWithZone:. For some reason, > whenever that happens I get a NSCFType does not recognize -copyWithZone: > exception. > > > > I don't understand enough about how GSDictionary works, so I was > wondering if anyone could help me out here? Really, I don't even understand > why -copyWithZone: is being called since I just need to object retained, not > copied. > > I think it is because the key of a NSDictionary is always copied to prevent > e.g. problems when > using a NSMutableString as a key and change its value on the fly... > Ah... Makes sense. I guess I'll need to add that method to NSCFType. Why aren't you using a NSArray/CFArray to simulate a NSSet? They are much > more similar than > dictionaries and sets. > I'll take a look into it. Thanks for the pointer. Thanks
_______________________________________________ Gnustep-dev mailing list [email protected] https://lists.gnu.org/mailman/listinfo/gnustep-dev
