ios . 关键字

 

 

property :默认会加上getset方法。

 

 

下面我看代码 大家就会明白了。以前我们做java虽然定义了变量但是都需要set 和get 方法负责存取。

 

 

首先我们现在h文件定义 

 

之后在引用类里面做引用 发现是不可能直接赋值的。

 

这是我们会和java 一样做get set 方法来存取值

 

 

 之后在调用部分写 

 

 我们清楚的就可以看到 我们的变量被赋值成了50

 

 

这时候我们有没有感觉到特别麻烦 闹心。一个赋值要写那么多的代码。要是知道对于时间 简直就是程序袁的绳命哇!!所以我们xcode 就直接帮我们渐变掉了

在我们定义的时候前面加@property 这就告诉xcode帮我直接城市setget 方法了

在调用时

 

 

 看是不是简便多了。

最后看一下我在声明的位置。其实就是和方法声明一样不需要放在大括号里面。也就是说调用的时候是点出的方法而不是变量对象。这一点切记。

 

 

super

 

super是继承了父类,调父类的init方法了

这里就是 继承父类的init,如果想用父类的对象 就【super 父类对象】就可以了额。 

 

 

 父类

 

 子类

 

 这个就是

 1>先调用父类的构造方法 ([super init])

 2>才会进行子类内部成员变量的初始化

 

 

 -----未完待续----------

 

 

 

 

 

格式 @property (参数1,参数2,...) 类型 名字;

 

 

其中参数主要分为三类:
                                • 读写属性: (readwrite/readonly/setter = /getter = ) 
                                • setter语意:(assign/retain/copy)
                                • 原⼦子性: (atomicity/nonatomic) • nullability annotations: (nonnull/nullable)

参数意义
- readwrite 产生setter\getter⽅方法
- readonly 只产生简单的getter,没有setter, 默认的读写属性
- setter 指定生成setter⽅法的名字
- getter 指定生成getter方法的名字
- assign 默认类型,setter方法直接赋值,而不进⾏retain操作,适⽤于基本数据类型, 对象类型, 不会发⽣生引用计数变化
- retain setter方法对参数进⾏行release旧值,再retain新值
- copy setter方法进⾏行Copy操作,与retain一样
- atomic 保证多线程访问下的安全,但浪费系统资源,原子性控制的默 认设置
- nonatomic 禁⽌多线程,变量保护,提高性能
- nonnull 表示对象可以是NULL或nil
- nullable 表⽰对象不应该为空



 

 

 

posted @ 2018-02-08 10:55  懒猫口米  阅读(124)  评论(0编辑  收藏  举报