On May 18, 2010, at 6:42 PM, Mike Abdullah wrote:

> 
> On 18 May 2010, at 23:28, Alejandro Marcos Aragón wrote:
> 
>> Hi all,
>> 
>> I've been staring at this piece of code now to try to find out what's wrong 
>> with it and I can't think of anything at this point. I'm trying to have a 
>> single instance of an NSMutableDictionary inside a class:
>> 
>> 
>> 
>> // in .h file
>> @interface ClassA : NSObject {
>>      
>> }
>> 
>> + (NSMutableDictionary*) uniqueInstance;
>> 
>> @end
>> 
>> // in .m file
>> @implementation ClassA
        static NSMutableDictionary* uniqueInstance = nil;
// the static variable has to be initialized before  you enter the 
uniqueInstance method.
>> 
>> 
>> + (NSMutableDictionary*) uniqueInstance {
>>              
>>      //static NSMutableDictionary* uniqueInstance = nil;
> you don't actually need '= nil' unless you prefer it.
> 
>>              
>>      if (uniqueInstance == nil) {
>> 
>>      // directory to save files
>>      NSArray *paths = 
>> NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, 
>> YES);
>>      NSString *dir = [paths objectAtIndex:0];
>>      
>>      NSFileManager *fileManager = [NSFileManager defaultManager];
> uh, this never gets used.
> 
>>      
>>      NSString *customFilePath = [[NSString alloc] initWithString:
>>                                                              [dir 
>> stringByAppendingPathComponent:@"dict.plist"]];
> nonsense, [dir stringByAppendingPathComponent:@"dict.plist"] by itself is 
> what you want.
>> 
>> 
>>                uniqueInstance = [[NSMutableDictionary alloc] 
>> initWithContentsOfFile:customFilePath];
>>      }
>>      
>>      return  uniqueInstance;
>> }
>> 
>> 
>> I can't use this code because there is a EXC_BAD_ACCESS according to the 
>> debugger.
> What's the backtrace? Very hard for us to debug without. Your singleton 
> method looks fine provided it's only ever accessed from a single thread at a 
> time. From my comments above, sure you've posted all the relevant code?
>> 
>> I tried moving the definition of the uniqueInstance outside the function and 
>> that didn't help. This code seems alright to me, but I can't find why it 
>> doesn't work. Can someone point out the problem?
>> 
>> aa
>> 
>> _______________________________________________
>> 
>> Cocoa-dev mailing list ([email protected])
>> 
>> 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/cocoadev%40mikeabdullah.net
>> 
>> This email sent to [email protected]
> 
> _______________________________________________
> 
> Cocoa-dev mailing list ([email protected])
> 
> 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/karthikreddy09%40gmail.com
> 
> This email sent to [email protected]

_______________________________________________

Cocoa-dev mailing list ([email protected])

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