gpt4 book ai didi

objective-c - 我如何知道我是否需要保留或转让属性(property)?

转载 作者:太空狗 更新时间:2023-10-30 03:08:47 24 4
gpt4 key购买 nike

有什么好的规则可以学习什么时候应该使用 retain,什么时候应该使用 assign 吗?

最佳答案

Assign 用于原始值,如 BOOL、NSInteger 或 double。对于对象,使用保留或复制,具体取决于您是要保留对原始对象的引用还是复制它。

唯一常见的异常(exception)是弱引用,您希望保留指向对象的指针但由于引用循环而无法保留它。这方面的一个例子是委托(delegate)模式,其中对象(例如 TableView )保留指向其委托(delegate)的指针。由于委托(delegate)对象保留 TableView ,让 TableView 保留委托(delegate)将意味着永远不会释放任何一个。在这种情况下使用弱引用。在这种情况下,您可以在创建属性时使用 assign。

关于objective-c - 我如何知道我是否需要保留或转让属性(property)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/785353/

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