对不起,初学者在这里。 。
所以我在应用程序启动时在我的应用程序委托中创建一个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。香港专业教育学院尝试调整属性属性,它不适用于强或保留。任何想法??
谢谢!
答案 0 :(得分:0)
有时这种情况发生在我身上。您忘了拨打[super viewDidLoad]
,因此不会创建您的媒体资源。您的viewDidLoad将取代UIViewController的viewDidLoad。