gpt4 book ai didi

ios - 调用 popToViewController 的正确方法 - iOS

转载 作者:行者123 更新时间:2023-11-28 19:45:20 25 4
gpt4 key购买 nike

我正在和我的团队成员就 popToViewController 发生争执。

对我来说最好的方法是 Can i pop to Specific ViewController?

但是他认为我们应该创建一个viewController的静态实例然后调用

-(void)takeToPreviousViewController {
if([IVPreviousViewController sharedInstance]) {
[self.navigationController popToViewController:[IVPreviousViewController sharedInstance] animated:YES];
}
}

我强烈反对这种方法,因为我们在 IVPreviousViewController 中创建了一个与 currentViewController 无关的公共(public)方法。我们应该始终避免像这样公开方法。

谁能给我指出最佳方法的可靠理由。

更新:

IVPreviousViewController.h

__weak static IVPreviousViewController * staticEventDetailViewController;

+(IVPreviousViewController *)sharedInstance;

IVPreviousViewController.m

+(IVPreviousViewController *)sharedInstance {
return staticEventDetailViewController;
}

这种方法的原因 - 在我们的 viewController 中的特定用例中,它必须弹出到 IVPreviousViewController

最佳答案

这是我的看法:

我支持你的观点。我们应该尽可能避免静态共享实例。静态实例保留在内存中,直到应用程序生命周期为止。从该实例引用的所有其他对象也将保留在内存中。

通过上面共享链接VC中提到的方法,不再需要的将被取出内存。此外,如果您没有很多 VC,最好从源 VC 到目标 VC 的弱引用,而不是循环并选择目标 VC。

是的,在 Objective-C 的上下文中为了更好的可读性,头文件应该只包含那些外部世界真正需要的 API。

关于ios - 调用 popToViewController 的正确方法 - iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32546217/

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