gpt4 book ai didi

iphone - 什么是差异。 b/w @property(非原子,分配)和@property(非原子,保留)

转载 作者:行者123 更新时间:2023-12-03 17:28:01 24 4
gpt4 key购买 nike

Possible Duplicate:
Are @property(nonatomic)ivar @property(nonatomic,assign)ivar the same or different?

我在许多使用委托(delegate)的类中看到过,这些类使用此关键字分配而不是保留。

我们使用分配而不是保留。

我可以使用分配给 myclass ivar 吗?

如果我确实这样做了,那么它的意义是什么?

最佳答案

您应该分配(=保留计数没有变化)委托(delegate),因为您想避免“保留循环”(想不出更好的词)

获取一个 UITableView 和一个 UIViewController。

当您将 UITableView 添加到 viewController 时,您将保留它。然后为 UITableView 分配一个委托(delegate)和一个数据源(也是一个委托(delegate))。通常这是您的 viewController。

如果 tableview 保留数据源(您的 viewController),则会出现“保留循环”

viewontroller 保留 tableview。
tableview保留viewcontroller

viewcontrollers dealloc(释放tableview的地方)永远不会被调用,因为tableview永远不会释放你的viewcontroller。反之亦然。

因此,两者都不会被释放。这就是为什么 UITableView 只分配数据源和委托(delegate)。你也应该在类里面做同样的事情。

关于iphone - 什么是差异。 b/w @property(非原子,分配)和@property(非原子,保留),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5352743/

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