我该如何解决这个潜在的泄漏?这个对象为什么是潜在的泄漏?
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSUInteger row = [indexPath row];
Chapter *chapter =[Chapter alloc] ;
switch (indexPath.section) {
case 0:
chapter = [einfuerung objectAtIndex:row];
break;
case 1:
chapter = [vertiefung objectAtIndex:row];
break;
case 2:
chapter = [spezial objectAtIndex:row];
break;
}
if ([[NSFileManager defaultManager] fileExistsAtPath:[chapter urlOnFilesystem]]) {
dataInstance.chapter = chapter;
Container *container = [[Container alloc] init];
[self.navigationController pushViewController:container animated:YES];
[container release];
}
else{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Kapitel nicht vorhanden" message:@"Kapitel wurde noch nicht heruntergeladen" delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil];
[alert show];
[alert release];
}
[chapter release];
}
Xcode告诉我有关章的两个问题。
此时不拥有的对象的引用计数递减不正确。
为什么这个对象不属于我?对象的潜在泄漏..(章节)
如何正确释放它?
[chapter autorelease]]?
@Jhaliya:你想在你的代码引用中删除'chapter'的第一个定义。 – DarkDust 2011-06-06 11:26:46
@ DarkDust:明白了。现在更新了答案。 – Jhaliya 2011-06-06 11:30:03
还有问题。如果你已经在默认情况下使用了,那么你需要发布。但在其他情况下,如果您从数组中获取对象,则不应该释放,因为您不拥有该对象。 – taskinoor 2011-06-06 11:31:32