我有一个UIViewController,我想从NIB加载,其中定义了一个代理(占位符)对象。我第一次加载它时,我会经历这个问题:
MyViewController *screen = [[MyViewController alloc] init];
NSDictionary *proxyDict = [NSDictionary dictionaryWithObject:myObject forKey:@"MyProxy"];
NSDictionary *optionsDict = [NSDictionary dictionaryWithObject:proxyDict forKey:UINibExternalObjects];
[[NSBundle mainBundle] loadNibNamed:@"MyViewController" owner:screen options:optionsDict];
因此,这会将NIB文件中声明为“MyProxy”的代理对象设置为指向已存在的对象myObject
。这很有效。
现在,如果我转到另一个屏幕并触发低内存警告,它会卸载视图。当我回到那个屏幕时,它会自动重新加载视图,它没有空间设置代理对象的手动定义的选项字典,然后它崩溃试图找到一个链接“MyProxy”的对象。
我该如何做到这一点?
答案 0 :(得分:1)
如何在-loadView或-viewDidLoad中设置代理对象。每次加载/重新加载视图时都会调用它们(与低内存条件后的-viewDidUnload一起)。
答案 1 :(得分:0)
从未找到过这方面的解决方案,提交了功能请求,但没有收到回复。