我的应用程序中的一个屏幕具有高分辨率背景,在旧设备上加载可能需要一点时间。
我的解决方案是在委托中预加载图像,然后重用它。
因此,我的委托中有一个属性:
@property (nonatomic, strong, retain) UIColor *fabricColor;
我在 didFinishLaunching 中加载图像:
fabricColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"bg.png"]];
但是,当我尝试在导航控制器中引用 delegate.fabricColor 时,它是一个僵尸:
AppDelegate *dg = (AppDelegate *)[[UIApplication sharedApplication] delegate];
self.view.backgroundColor = dg.fabricColor; //Doesn't work
如何防止这种情况发生,以便我可以使用 fabricColor?
几点注意事项:
- 我没有使用 ARC。
- 我代表的 dealloc 中的第一行是“[fabricColor release]”