gpt4 book ai didi

ios - 为什么不直接使用属性创建对象?

转载 作者:行者123 更新时间:2023-12-01 17:31:07 26 4
gpt4 key购买 nike

我正在研究UIPopover,在其中一个示例中,我发现Popover对象是
创建,但随后将对象分配给Viewcontroller的属性。

UIPopoverController* aPopover = [[UIPopoverController alloc] initWithContentViewController:content];
self.popoverController = aPopover;

这种分配的优点是什么?不直接将对象分配给属性的任何原因是什么?

最佳答案

其中没有“功绩”。说

self.popoverController = 
[[UIPopoverController alloc] initWithContentViewController:content];

绝对是等效的。

另一方面,如示例所示,使用临时变量( aPopover)并没有错。它只是一个名字(一个指针);不会浪费大量的空间或时间。而且,避免重复重复 self.popoverController(设置或获取其值),因为这是一个方法调用-您正在传递setter方法或getter方法(它们可能是合成的,可能会有副作用,并且确实实际上需要一些额外的时间)。因此,例如,当需要完成许多配置时,最好按照您的示例所示进行配置:
UIPopoverController* aPopover = 
[[UIPopoverController alloc] initWithContentViewController:content];
// lots of configuration here, using the local automatic variable aPopover...
// ...and then, only when it is all done, call the setter:
self.popoverController = aPopover;

关于ios - 为什么不直接使用属性创建对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22285897/

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