gpt4 book ai didi

ios - 具有本地引用的结构与具有本地引用的类? swift 的表现

转载 作者:行者123 更新时间:2023-11-28 08:31:02 26 4
gpt4 key购买 nike

据我所知,如果一个结构包含多个引用作为存储的属性,分配它的 (2*reference) 比一个类更昂贵。局部变量也是这样吗?

struct ViewNavigationRouter {

private let firstViewController : UIViewController

init(firstViewController: UIViewController) {
self.firstViewController = firstViewController
}

func navigate(from: UIViewController) {

let viewController1 : UIViewController = xxx
let viewController2 : UIViewController = xxx
let viewController3 : UIViewController = xxx
}
}



class ViewNavigationRouter {

private let firstViewController : UIViewController

init(firstViewController: UIViewController) {
self.firstViewController = firstViewController
}

func navigate(from: UIViewController) {

let viewController1 : UIViewController = xxx
let viewController2 : UIViewController = xxx
let viewController3 : UIViewController = xxx
}
}

提前致谢:)

最佳答案

在这种情况下,它似乎与结构 ViewNavigationRouter 和类 ViewNavigationRouter 中的所有成员相同 - 类的实例(firstViewController:UIViewController)。我没有看到更广泛的上下文,但在这里看起来像这样。

我建议你阅读这个 https://developer.apple.com/library/prerelease/content/documentation/Swift/Conceptual/Swift_Programming_Language/ClassesAndStructures.html很多次,特别关注部分结构和枚举是值类型和类是引用类型。

最重要的区别与复制内容标识符时发生的事情是“指向”有关。我建议你进一步阅读:

https://developer.apple.com/library/prerelease/content/documentation/Swift/Conceptual/Swift_Programming_Language/AutomaticReferenceCounting.htm并查看示例。然后您会发现差异不在于内存性能,而在于 ARC 清除内存的方式。

关于ios - 具有本地引用的结构与具有本地引用的类? swift 的表现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38891984/

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