0

Can someone please tell me why the following code is leaking in Instruments?

UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
activityController.excludedActivityTypes = [NSArray arrayWithObjects:@"a",@"b", nil];


[self presentViewController:activityController animated:YES completion:nil];
[activityController release];    

Instruments show the leak on row:

activityController.excludedActivityTypes = [NSArray arrayWithObjects:@"a",@"b", nil];
Eyal
  • 10,777
  • 18
  • 78
  • 130

1 Answers1

0

The following should do the trick (__block and completion)

__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];

See also this SO

Community
  • 1
  • 1
Frank
  • 3,376
  • 1
  • 23
  • 23