346 - NSFileManager *fileManager = [[NSFileManager alloc] init];
347 - [fileManager removeItemAtPath:[mediaSource.newMediaToDelete objectAtIndex:i] error:nil];
348 - [fileManager release];
错误指向348行并说:
'在第347行分配的对象的潜在泄漏'
我不明白这一点,显然第347行不是分配,第346行的分配已经发布。
答案 0 :(得分:2)
避免在您自己的方法名称中使用'new'或'create'(除非它们返回我认为未自动释放的对象)。它混淆了静态分析仪。我遇到了这个问题,发现当我更改方法名称时它就消失了。
更新:我看到Bavarious已在评论中注意到这一点。
答案 1 :(得分:0)
可能在NSArray mediaSource.newMediaToDelete对象不自动释放?
答案 2 :(得分:0)
我尝试了以下代码并没有得到任何警告:
NSInteger i = 0;
NSArray *ax = [NSArray arrayWithObjects:@"a",@"b",@"c",nil];
NSFileManager *fileManager = [[NSFileManager alloc] init];
[fileManager removeItemAtPath:[ax objectAtIndex:i] error:nil];
[fileManager release];
因此必须使用返回的mediaSource.newMediaToDelete对象...
尝试一下var assignemnt,如:
x = [mediaSource.newMediaToDelete objectAtIndex:i];
它应该显示在那里......
答案 3 :(得分:0)
您是否尝试过单击错误消息本身?那些向您展示问题路径的箭头有时非常有用。我猜是导致消息的是mediaSource或newmediaToDelete对象。