NSMutableDictionary isn't stick around long enough
        Posted  
        
            by 
                Sean Danzeiser
            
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Sean Danzeiser
        
        
        
        Published on 2012-03-31T23:26:29Z
        Indexed on 
            2012/03/31
            23:29 UTC
        
        
        Read the original article
        Hit count: 372
        
Sorry, beginner here . . .
So I create an NSMutableDictionary in my app delegate when the application launches, and then later pass it on to a view controller, as it contains options for the VC like a background image, a url I want to parse, etc.
Anyway, i wrote a custom init method for the VC, initWithOptions, where I pass the dictionary on. I'm trying to use this dictionary later on in other methods - so I created a NSMutableDictionary property for my VC and am trying to store the passed options dictionary there. However, when I go to get the contents of that property in later methods, it returns null. If i access it from the init method, it works. heres some sample code:
-(id)initWithOptions:(NSMutableDictionary *)options {
self = [super init];
if (self) {
    // Custom initialization
    self.optionsDict = [[NSMutableDictionary alloc]initWithDictionary:options];
    NSLog(@"dictionary in init method %@",self.optionsDict);
that NSLog logs the contents of the dictionary, and it looks like its working. then later when I do this:
    - (void)viewDidLoad
{    
     SDJConnection *connection = [[SDJConnection alloc]init];
    self.dataArray = [connection getEventInfoWithURL:[dict objectForKey:@"urlkey"]];
    NSLog(@"dictionary in connection contains: %@", [dict objectForKey:@"urlkey"]);
    [_tableView reloadData];
the dictionary returns null. Ive tried adjusting the property attributes, and it didn't work with either strong or retain. Any ideas??
THANKS!!
© Stack Overflow or respective owner