UIActivityViewController – 不能理解这个内存泄漏
有人可以告诉我为什么下面的代码泄漏在仪器中?
UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil]; activityController.excludedActivityTypes = [NSArray arrayWithObjects:@"a",@"b", nil]; [self presentViewController:activityController animated:YES completion:nil]; [activityController release];
仪器显示行中的泄漏:
activityController.excludedActivityTypes = [NSArray arrayWithObjects:@"a",@"b", nil];
以下应该做的诀窍(__block和完成)
__block UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil]; activityController.excludedActivityTypes = [NSArray arrayWithObjects:@"a",@"b", nil]; [self presentViewController:activityController animated:YES completion:^{ activityController.excludedActivityTypes=nil; activityController=nil;}]; [activityController release];
另见这个SO