美文网首页
2020-04-10

2020-04-10

作者: Stephen_Huang | 来源:发表于2020-04-16 16:10 被阅读0次

1.@property 的本质是什么?
@property的本质 = ivar (实例变量) + getter (取方法) + setter (存方法)
“属性”(property)有两大概念:实例变量(ivar)、存取方法(getter + setter)
2、ivar、 getter 、setter 是如何生成并添加到这个类中的
这是编译器自动合成的,通过@synthesize 关键字指定,若不指定,默认为@synthesize propertyName = _propertyName;若手动实现了getter/setter 方法,则不会自动合成。
现在编译器已经默认为我们添加了@synthesize propertyName = propertyName;因此不再手动添加了,除非你真的要改变成员变量名字。
生成getter方法时,会判断当前属性名是否有“
”,比如声明属性为@property(nonatomic,copy)NSString *_name;那么所生成的成员变量名就会变成“name”,如果我们要手动生成getter 方法,就要判断是否以“”开头了。
2.分别解释strong,copy,weak,assign的含义,异同点和使用场景
assign用于对基本数据类型进行赋值操作,不更改引用计数。也可以用来修饰对象。
weak修饰Object类型,修饰的对象在释放后,指针地址会被置为nil,是一种弱引用。在ARC环境下,为避免循环引用,往往会把delegate属性用weak修饰;在MRC下使用assign修饰。
ARC下的strong等同于MRC下的retain都会把对象引用计数加1。
weak和strong不同的是:当一个对象不再有strong类型的指针指向它的时候,它就会被释放,即使还有weak型指针指向它,那么这些weak型指针也将被清除。

相关文章

  • 正则

    日期日期格式通常为:2020-04-10,2020-04-10 10:35:52,2020/04/40,2020/...

  • HP Pavilion Gaming 15-ak004TX 黑苹

    安装日期:2020-04-10 安装镜像: macOS Catalina 10.15.4(19E266) 链接: ...

  • 晚间日记2

    今天2020-04-10 起床:07:00 就寝:24:00 天气:阴天 心情:不错呀 任务清单 今天完成的任务,...

  • 《贫穷的本质》1

    Day25 2020-04-10 《贫穷的本质》第1-5章 【字数】 读了,看了,思考了,越觉得贫穷的本质种种原因...

  • 命自我立,福自我求NO.146

    2020-04-10 星期五 晴 事在人为,命自我立,任何人的命运,归根结底都是自己创造的。在命运面前...

  • 《虎面》:迷幻而又纯真的小镇记忆

    作者:何凯凯(2020-04-10《文艺报》) 2020年1月,“90后”陕西作家范墩子出版了他的新书《虎面》。该...

  • 梅梅的声音训练之路……

    2020-04-10 10:15 我是子涵声音私房课第19期学员梅梅,28天,我收获了幸会、幸运和幸福! 在加入私...

  • 学历真是个打不破的魔咒/浮躁

    2020-04-10 看到的一条,微博的热搜就是学历对找工作的影响。 于是可能今天自身关注的就是这些。评论有提到学...

  • 大黑的“乌鸡汤” 1. 怎么过好这一生

    来自专栏:美白乌鸡汤 共15篇 怎么过好这一生 2020-04-10 阅读 48万+ 这一篇算是综合性地和大家分享...

  • 2020-04-10 野心

    2020-04-10 野心 目前的工作,不是太理想。 首先是从事的工作内容过于枯燥和单调,一天天对着电脑整理一些产...

网友评论

      本文标题:2020-04-10

      本文链接:https://www.haomeiwen.com/subject/hftrmhtx.html