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: 323
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