Objective-C 声明属性
创建: 2018/01/24
完成: 2018/01/25
遗留: TODO
声明属性(declared property)
| 属性的声明与功能 | ||||||||||||||||||||||||||||||||||||||||||
| 属性的声明 |
@property 读写 @property(readonly) 只可读 ● 多个用逗号连接 ● 也可以自己声明 |
|||||||||||||||||||||||||||||||||||||||||
| 属性的实现 |
用@property声明的变量可以用@synthesize ● 多个用逗号连接 ● 如果不带@synthesize, 内部属性名字变成_名字 @interface Sample : NSObject 也可以在内部改名, 类内部用其他名称来使用 @synthesize value = runningAverage; //类内其他方法处该属性名字变为等号右边,外部不变 ● 可读生成getter, 可读写生成getter, setter ● 必须已经声明了@property ● 如果不需要接入类方法(getter, setter), 可以用@dynamic 也可以不要 |
|||||||||||||||||||||||||||||||||||||||||
| @dynamic |
相关的getter, setter由自己实现 不实现也不报错,但是调用时程序会崩溃 |
|||||||||||||||||||||||||||||||||||||||||
| 属性的option |
指定多个用,隔开
|
|||||||||||||||||||||||||||||||||||||||||
| 值设定方法的选项 |
# TODO: Supply [property属性的值设定方法选项的详细 p169] # TODO: Supply [多线程 p480] |
|||||||||||||||||||||||||||||||||||||||||
| 属性的继承 |
● 可以重载getter, setter ● 除了readonly可以变成readwrite以外,@property必须一样 ● 子类不能用@sythesize来实现父类的声明属性 ● 类型, 协议内部可以有声明属性但不能有@sythesize, 在实现部(@implementation)处自己实现 # TODO: Supply [类型, 协议内部可以有声明属性但不能有@sythesize] |
|||||||||||||||||||||||||||||||||||||||||
| 不能和方法族重合 |
用ARC时方法不能属于方法族 alloc方法族 copy方法族 mutableCopy方法族 new方法族 init方法族 |
|||||||||||||||||||||||||||||||||||||||||
| 点运算符获取属性 | ||||||||||||||||||||||||||||||||||||||||||
| 相当于发出信息 | 结论: 尽量不要用点运算符获取属性
sample.var; // 获取 相当于 [sample val]
注意: ● 不能用在id类上 ● 不能用在只有setter的上面 |
|||||||||||||||||||||||||||||||||||||||||
|
● 可以连续使用 n = obj.productionList.length; ● 可以连续代入 n = obj.count = obj.depth = ++n; ● 递减递减,复合代入运算符的解释 n = obj.length++; ● 类内部呼出声明属性方法 self.count = ; super.depth = maxDepth; ● 和构造体的点运算符混用 属性是构造体的时候 struct Sample a = ...; //构造体 |
||||||||||||||||||||||||||||||||||||||||||
| 获取属性的方针 |
● 构造函数里面直接获取属性 ● 内部函数的话,最好都用声明属性的方法,也可以直接获取。最好固定一种 |
|||||||||||||||||||||||||||||||||||||||||
Objective-C 声明属性的更多相关文章
- Objective - C中属性和点语法的使用
一.属性 属性是Objective—C 2.0定义的语法,为实例变量提供了setter.getter方法的默认实现能在一定程度上简化程序代码,并且增强实例变量的访问安全性 ...
- ARC声明属性关键字详解(strong,weak,unsafe_unretained,copy)
ARC声明属性关键字详解(strong,weak,unsafe_unretained,copy) 在iOS开发过程中,属性的定义往往与retain, assign, copy有关,我想大家都很熟悉了, ...
- iOS 声明属性关键字的总结
atomic: 原子操作(原子性是指事务的一个完整操作,操作成功就提交,反之就回滚. 原子操作就是指具有原子性的操作)在objective-c 属性设置里面 默认的就是atomic ,意思就是 set ...
- iOS 声明属性关键字讲解
atomic: 原子操作(原子性是指事务的一个完整操作,操作成功就提交,反之就回滚. 原子操作就是指具有原子性的操作)在objective-c 属性设置里面 默认的就是atomic ,意思就是 set ...
- swift声明属性为某个类型同时遵循某协议
swift声明属性为某个类型同时遵循某协议 var instanse:(协议A & 类B)
- mybatis进行mapper.xml测试的时候发生"必须为元素类型 “mapper” 声明属性 “namespace”
1.Caused by Caused by: org.xml.sax.SAXParseException; lineNumber: 7; columnNumber: 45; 必须为元素类型 " ...
- React Native声明属性和属性确认
属性声明 因为用React Native创建的自定义组件可以复用, 我们开发过程中可能一个项目组有多个人同时开发,其他同事可能会用到我们自定义的组件, 但是他们使用的时候很容易忘记使用某些属性,这时候 ...
- php 魔术方法,未声明属性,数组的注释 - 帮助ide跳转,提高可读性
本人使用vscode编辑器.其他编辑器未测试. 经过1: 用laravel开发了一段时间,最麻烦的一点就是许多时候编辑器无法智能提示和辅助跳转. 有一款ide-helper的插件,感觉不是很好用,经常 ...
- mybatis-generator XML Parser Error on line 38: 必须为元素类型 "table" 声明属性 "enableInsertByPrimaryKey"。
1. 解决方法 在 table 元素中删除属性 enableInsertByPrimaryKey 即可.就是这么神奇... 2. 情景重现 使用 mybatis-generator 插件生成代码时报错 ...
随机推荐
- STM32F407 GPIO原理 个人笔记
datasheet(STM32F407ZGT6.pdf)中,IO structure 为FT,表示容忍5V电压 后面的uart1_TX之类,表示端口复用 共有A~G7组IO口, 每组16个IO口:0~ ...
- JavaEE JDBC 核心API
JDBC接口核心的API @author ixenos java.sql.* 和 javax.sql.* |- Driver接口: 表示java驱动程序接口.所有的具体的数据库厂商要来实现此接口 ...
- 全文搜索(AB-2)-权重
概念 权重是一个相对的概念,针对某一指标而言.某一指标的权重是指该指标在整体评价中的相对重要程度.权重是要从若干评价指标中分出轻重来,一组评价指标体系相对应的权重组成了权重体系. 释义 等同于比重 ...
- 关于OPENSSL的EVP函数的使用
4月份没什么做,就是做了OPENSSL的 加密和解密的应用,现在公开一下如何调用OPENSSL对字符串进行加密和解密,当中也学会了对加密数据进行BASE64编码,现在公开一下代码,在这感谢GITHUB ...
- hunnu - 11545 小明的烦恼——找路径 (最大流)
http://acm.hunnu.edu.cn/online/?action=problem&type=show&id=11545 只是要求不经过相同的边,那么每次找出一条增广路T-- ...
- Jam's balance set 暴力
Jim has a balance and N weights. (1≤N≤20)(1≤N≤20) The balance can only tell whether things on differ ...
- 【小记事】电脑命令行开WiFi
1.设置WiFi名称和密码 在命令行输入: netsh wlan set hostednetwork mode=allow WiFi名称 key=密码 2.开启WiFi 在命令行输入: netsh w ...
- codevs——1019 集合论与图论
1019 集合论与图论 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description 集合论与图论对于小松来说 ...
- 洛谷 P1122 最大子树和
P1122 最大子树和 题目描述 小明对数学饱有兴趣,并且是个勤奋好学的学生,总是在课后留在教室向老师请教一些问题.一天他早晨骑车去上课,路上见到一个老伯正在修剪花花草草,顿时想到了一个有关修剪花卉的 ...
- dtrace-conf 2016
https://www.joyent.com/about/events/2016/dtrace-conf