1

我正在使用以下代码(使用 ARC)呈现 UIActivityViewController:

- (IBAction)share:(id)sender {
UIActivityViewController *activityController = [[UIActivityViewController alloc]
                                                initWithActivityItems:[NSArray arrayWithObjects:@"Cat",@"Dog" , nil]
                                                applicationActivities:nil];

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

使用仪器“泄漏”在 iphone 模拟器上运行程序。呈现视图并单击取消后:在以下行出现泄漏(100%):

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

我究竟做错了什么?

4

1 回答 1

0

alloc自动平衡ARC。但是将 移交activityController给 self 会增加引用计数,并将对象放入autorelease pool中(如果存在)。因此,如果您的代码在没有 的线程中运行,则autorelease pool此对象将泄漏。

于 2013-01-22T08:11:17.733 回答