【发布时间】:2012-09-15 11:10:31
【问题描述】:
我不知道我是否正确使用了 viewDidUnload。我应该释放我在 .h 文件中声明的所有内容吗?
这是我现在的做法:
@property (strong, nonatomic) Readability *wrapper;
@property (strong, nonatomic) ArticleModel *article;
@property (strong, nonatomic) Woho *wohoItem;
@property (strong, nonatomic) FeedItem *item;
@property (unsafe_unretained, nonatomic) IBOutlet UIScrollView *scrollView;
@property (strong, nonatomic) NSMutableArray *picturesArray;
@property (unsafe_unretained, nonatomic) IBOutlet UILabel *headTitleLabel;
在 viewDidUnload 中:
- (void)viewDidUnload
{
[self setHeadTitleLabel:nil];
[self setScrollView:nil];
self.picturesArray = nil;
self.item = nil;
self.article = nil;
self.wohoItem = nil;
self.wrapper = nil;
}
这是正确的做法吗?
可能不会,因为我的应用在每次内存警告时都会崩溃。
谢谢!
【问题讨论】:
-
如果你崩溃了,你打开僵尸了吗?你遇到了什么错误?您的
viewDidUnload没有明显问题。所有这些都在viewDidLoad中重新创建吗?它是在内存警告时崩溃,还是在您返回相关视图时崩溃? -
此外,这个问题在 9 月 19 日就变得无关紧要了。
-
viewDidUnload 在 iOS 6 中已弃用。您应该改用 didReceiveMemoryWarning。
标签: iphone ios xcode cocoa-touch didreceivememorywarning