Objective c 对象泄漏:分配和存储的对象在此执行过程中稍后不会被引用
在使用分析工具后,我收到以下警告“对象泄漏:分配和存储的对象在此执行过程中不会被引用”Objective c 对象泄漏:分配和存储的对象在此执行过程中稍后不会被引用,objective-c,ios,memory-leaks,Objective C,Ios,Memory Leaks,在使用分析工具后,我收到以下警告“对象泄漏:分配和存储的对象在此执行过程中不会被引用” 如何删除此警告?在IF块中,您在未使用初始分配的情况下重新分配UIWebView。相反,我有这样的东西 UIWebView *videoView = nil; if([self.webViewCache objectForKey:cellId]) { videoView = .....normal code here } else { videoView = [[UIWebView all
如何删除此警告?在IF块中,您在未使用初始分配的情况下重新分配UIWebView。相反,我有这样的东西
UIWebView *videoView = nil;
if([self.webViewCache objectForKey:cellId]) {
videoView = .....normal code here
} else {
videoView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 104, 104)];
.... normal code here
}
在分配新值之前,您必须释放videoView引用的上一个对象。这是因为您分配了
UIWebView* videoView = [UIWebview alloc] initWithFrame:CGRectMake(0, 0, 104, 104)];
但在if语句中,您将这个videoView与其他内容一起分配,因此您将丢失指向初始分配对象的指针
将您的声明更改为
UIWebView* videoView = nil;
然后在你的房间里
videoView = [UIWebview alloc] initWithFrame:CGRectMake(0, 0, 104, 104)];
这是我首选的解决方案,不是唯一的,而是最整洁的;这只会让人难以阅读。至少花点时间复制粘贴它。你可以用评论来表示你收到通知的那一行。我认为OP用截图来显示箭头,因为对于一个有生以来第一次看到箭头的人来说,箭头是一些奇怪的东西。这个问题的截图对我来说很有用,可以确保我们面临同样的问题。