3

我正在使用此代码在应用程序中显示联系人。

- (IBAction) selectContact:(id)sender {

    ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init];
    picker.peoplePickerDelegate = self;

    NSArray *displayedItems = [NSArray arrayWithObjects:[NSNumber numberWithInt:kABPersonAddressProperty], nil];
    picker.displayedProperties = displayedItems;
    [self presentModalViewController:picker animated:YES];
    [picker release];
}

根据仪器,存在内存泄漏。即使我像这样取消人员选择器:

- (void) peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker {
    NSLog(@"peoplePickerNavigationControllerDidCancel");

    [self dismissModalViewControllerAnimated:YES];
}

...我有一个泄漏:

仪器中的内存泄漏

我发现一些开发人员的帖子声称这是 SDK 中的一个错误,并且已经提交了一个错误。有人可以确认吗?或指出我正确的方向。

4

2 回答 2

1

我知道这违背逻辑,违背你所知道的一切,但请相信我。注释掉释放选择器的行;

//-- [picker release]; this line must be commented

这很可能是 Apple SDK 中的错误

于 2011-04-13T16:14:44.787 回答
0

尝试将您的 SDK 更新到最新的 iOS 版本,看看是否仍然存在泄漏。如果是这样,请通过开发者中心提交错误。

于 2011-02-22T18:08:25.417 回答