NSMutableDictionary不够长久

时间:2012-03-31 23:26:30

标签: iphone ios xcode memory-management

对不起,初学者在这里。 。

所以我在应用程序启动时在我的应用程序委托中创建一个NSMutableDictionary,然后将其传递给视图控制器,因为它包含VC的选项,如背景图像,我要解析的URL等等。 / p>

无论如何,我为VC编写了一个自定义的init方法,initWithOptions,我在那里传递字典。我试图在其他方法中使用这个字典 - 所以我为我的VC创建了一个NSMutableDictionary属性,并试图在那里存储传递的选项字典。但是,当我在以后的方法中获取该属性的内容时,它返回null。如果我从init方法访问它,它的工作原理。下面是一些示例代码:

-(id)initWithOptions:(NSMutableDictionary *)options {
self = [super init];
if (self) {
    // Custom initialization

    self.optionsDict = [[NSMutableDictionary alloc]initWithDictionary:options];
    NSLog(@"dictionary in init method %@",self.optionsDict);

NSLog记录字典的内容,看起来像是在工作。后来当我这样做时:

    - (void)viewDidLoad
{    
     SDJConnection *connection = [[SDJConnection alloc]init];
    self.dataArray = [connection getEventInfoWithURL:[self.optionsDict objectForKey:@"urlkey"]];
    NSLog(@"dictionary in connection contains: %@", [self.optionsDict objectForKey:@"urlkey"]);
    [_tableView reloadData];

字典返回null。香港专业教育学院尝试调整属性属性,它不适用于强或保留。任何想法??

谢谢!

1 个答案:

答案 0 :(得分:0)

有时这种情况发生在我身上。您忘了拨打[super viewDidLoad],因此不会创建您的媒体资源。您的viewDidLoad将取代UIViewController的viewDidLoad。