gpt4 book ai didi

ios - ABPeoplePickerNavigationController 类不支持子类化

转载 作者:行者123 更新时间:2023-11-29 12:21:58 25 4
gpt4 key购买 nike

在使用 ABPeoplePickerNavigationController 时,didSelecPerson 委托(delegate)将在用户选择一个人时被调用,然后 ABPeoplePickerNavigationController 自行解散。在接收到 didSelectPerson 调用时,我需要呈现另一个 View Controller 。问题是 ABPeoplePickerNavigationController 在此阶段关闭的动画未完成。因此,下一个 View Controller 的呈现将产生错误。

如果我继承 ABPeoplePickerNavigationController 并覆盖:

-(void)dismissViewControllerAnimated:(BOOL)flag completion:(void (^)(void))completion
{
NSLog(@"%s", __PRETTY_FUNCTION__);
[super dismissViewControllerAnimated:flag completion:completion];

[self.myDelegate didDismissPickerCompletion];
}

这样问题就解决了。但是 Apple 文档确实声明“ABPeoplePickerNavigationController 类不支持子类化”。这是否意味着他们将拒绝任何对此类声明类进行子类化的尝试?

注意:我不希望使用任何人为的时间延迟作为解决方案。

最佳答案

and then the ABPeoplePickerNavigationController dismisses itself

这是你的问题。它只是因为没有解雇它而解雇了自己。明确地,你自己解雇它!在你的 didSelectPerson: 实现中调用 dismissViewControllerAnimated:completion:

现在您有了一个完成处理程序,因此您可以在解雇完成后运行代码。

关于ios - ABPeoplePickerNavigationController 类不支持子类化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30354402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com