西宁做网站君博优选,佛山网络公司网站建设,vi公司设计包括哪些,建设银行网站表单清理什么情况使用 weak 关键字#xff1f; 在 ARC 中,在有可能出现循环引用的时候,往往要通过让其中一端使用 weak 来解决,比如: delegate 代理属性 自身已经对它进行一次强引用,没有必要再强引用一次,此时也会使用 weak,自定义 IBOutlet 控件属性一般也使用 weak#xff1b;当然… 什么情况使用 weak 关键字 在 ARC 中,在有可能出现循环引用的时候,往往要通过让其中一端使用 weak 来解决,比如: delegate 代理属性 自身已经对它进行一次强引用,没有必要再强引用一次,此时也会使用 weak,自定义 IBOutlet 控件属性一般也使用 weak当然也可以使用strong。 不同点 weak 此特质表明该属性定义了一种“非拥有关系” (nonowning relationship)。为这种属性设置新值时设置方法既不保留新值也不释放旧值。此特质同assign类似 然而在属性所指的对象遭到摧毁时属性值也会清空(nil out)。 而 assign 的“设置方法”只会执行针对“纯量类型” (scalar type例如 CGFloat 或 NSlnteger 等)的简单赋值操作。 assign 可以用非 OC 对象,而 weak 必须用于 OC 对象 转载于:https://www.cnblogs.com/huangzs/p/7515362.html