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