当前位置: 首页 > 面试题库 >

.readwrite,readonly,assign,retain,copy,nonatomic属性的作用

公胤运
2023-03-14
本文向大家介绍.readwrite,readonly,assign,retain,copy,nonatomic属性的作用 相关面试题,主要包含被问及.readwrite,readonly,assign,retain,copy,nonatomic属性的作用 时的应答技巧和注意事项,需要的朋友参考一下

@property是一个属性访问声明,扩号内支持以下几个属性:

1,getter=getterName,setter=setterName,设置setter与getter的方法名

2,readwrite,readonly,设置可供访问级别

2,assign,setter方法直接赋值,不进行任何retain操作,为了解决原类型与环循引用问题

3,retain,setter方法对参数进行release旧值再retain新值,所有实现都是这个顺序(CC上有相关资料)

4,copy,setter方法进行Copy操作,与retain处理流程一样,先旧值release,再Copy出新的对象,retainCount为1。这是为了减少对上下文的依赖而引入的机制。

copy是在你不希望a和b共享一块内存时会使用到。a和b各自有自己的内存。

5,nonatomic,非原子性访问,不加同步,多线程并发访问会提高性能。注意,如果不加此属性,则默认是两个访问方法都为原子型事务访问。锁被加到所属对象实例级(我是这么理解的...)。

atomic和nonatomic用来决定编译器生成的getter和setter是否为原子操作。在多线程环境下,原子操作是必要的,否则有可能引起错 误的结果。加了atomic,setter函数会变成下面这样:

 类似资料:
  • 尝试访问时出现语法错误。这两个都是互惠主义者的道具。js和菜谱。js。 下面是Recipe.js的代码示例: 截图。道具误差 但是,该项目不会抛出编译时错误,并且网站运行良好。 应用程序截图工作正常,没有chrome控制台或终端错误 我认为这与我的代码关系不大,与TypeScript或某种带有Javascript的预设配置关系更大,VScode无法识别每个组件的. props属性,因为当我将Rea

  • 我在我的应用程序中使用TypeScript,其中我使用函数: 然而,在编译过程中,我收到了以下错误: 你知道我怎样才能摆脱这个错误吗?

  • 本文向大家介绍用js一次改变多个input的readonly属性值的方法,包括了用js一次改变多个input的readonly属性值的方法的使用技巧和注意事项,需要的朋友参考一下

  • 本文向大家介绍谈谈你对input元素中readonly和disabled属性的理解相关面试题,主要包含被问及谈谈你对input元素中readonly和disabled属性的理解时的应答技巧和注意事项,需要的朋友参考一下 相同点:都会使文本框变成只读,不可编辑。 不同点: 1.disabled属性在将input文本框变成只读不可编辑的同时,还会使文本框变灰,但是readonly不会。 2.disab

  • Table of Contents assign counter cycle debug eval fetch html_checkboxes html_image html_options html_radios html_select_date html_select_time html_table math mailto popup_init popup textformat Smarty

  • Returns an ObjectLikeSequence whose elements are the combination of this sequence and another object. In the case of a key appearing in both this sequence and the given object, the other object's valu