gpt4 book ai didi

ios - UIStoryboardSegue 与 presentviewcontroller?

转载 作者:可可西里 更新时间:2023-11-01 03:06:22 27 4
gpt4 key购买 nike

有人可以解释使用 UIStoryboardSegue modal 与以编程方式使用 presentViewController 之间的区别吗?

使用UIStoryboardSegue只是为了方便?或者有一些性能优势?

谢谢

最佳答案

在性能方面没有真正的区别。

主要区别在于创建新 View Controller 的位置。

通过 Storyboard segue,对象在呈现之前从 Storyboard中取消存档。

在代码中,您必须创建新的 View Controller ,例如...

ModalViewController *modal = [[ModalViewController alloc] init];

在你展示它之前......

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

它们都允许您以不同的方式注入(inject)属性。

使用代码,您将在上面添加以下内容...

// depends on property type etc...
modal.someProperty = @"someValue";

当使用 segue 时,你会这样做......

- (void)prepareForSegue:(UIStoryBoardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"modalSegue"]) {
// the view controller is already created by the segue.
// just grab it here first
ModalViewController *controller = segue.destinationViewController;

controller.someProperty = @"someValue";
}
}

有区别吗?

不是真的,只是个人喜好和一些方法更容易适应某些设计模式和用法。您使用这两种方法的次数越多,您就会越了解自己更喜欢哪种方法。

关于ios - UIStoryboardSegue 与 presentviewcontroller?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23604079/

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