OC中属性及方法
1.声明式属性
a.实例变量
b.声明属性
自动生成setter/getter方法
.h ->@property 属性类型 属性名;
.m ->@synthesize 属性名 = 实例变量名;
c.点语法
2.IOS5中的属性
a.实例变量 省
会自动生成实例变量,实例变量名 等于 _属性名
b.声明属性
@property 属性类型 属性名;
@synthesize 属性名 = 实例变量名;
c.点语法
3.IOS6中的属性
a.实例变量 省
b.声明属性
@property 属性类型 属性名;
@synthesize 属性名 = 实例变量名; 省
c.点语法
总结:
a.实例变量 省
b.声明属性
@property 属性类型 属性名;
@synthesize 属性名 = 实例变量名; 省
c.点语法
4.初始化方法
创建对象的时候,也需要进行初始化操作。
如果进行默认值的初始化,调用无参的初始化方法。
如果进行指定值的初始化,调用有参的初始化方法。
语法规则 :
无参的初始化方法,与生俱来就拥有,可以不用自定义。
-(id)init{
self = [super init];
if(self){
}
return self;
}
有参的初始化方法,只能自定义。
-(id)initWithAge:(int)age andSex:(char)sex{
self = [super init];
if(self){
对属性值的初始化;
}
return self;
}
5.id类型
任意类型指针,与C语言中的void*使用相似。
仅仅指向内存中的对象,并不关注内存中数据类型。
id类型也不能直接使用,如果使用必须做类型转换操作。
类型转换是有风险的,引用类型必须与空间类型相匹配。
id类型只能指向(引用)对象所在的内存区域。
6.super关键字
super关键字代表一个类的父类。
可以在子类中调用父类中的方法,此时使用super关键字。
[super init];真正的初始化操作由父类解决。
7.OC中的方法
方法分为两种:
a.实例方法
实例方法只能通过实例(对象)来调用。
语法规则 :
-(返回值类型)方法名; -符号 代表实例方法
实例方法解决与实例有关的相关操作。(数据信息)
实例方法经常用来处理内存中的数据。
b.类方法
类方法只能通过类来调用。
语法规则 :
+(返回值类型)方法名; +符号 代表类方法。
类方法解决与类信息相关的相关操作。(类代码信息)
类方法经常用来处理与代码相关的操作。(开辟内存空间大小)
作用:分配内存空间时,经常使用类型方法。
8.self关键字
self关键字,不但可以在实例方法中使用,也可以在类方法中使用。
在实例方法中使用self关键字,代表当前实例。
在当前实例中,如果需要调用其它的实例方法。
[self otherMethod];
在类方法中使用self关键字,代表当前类。
在当前类,如果需要调用其它的类方法。
[self otherMethod];
[类 otherMethod];
在类方法中,是不可以调用实例变量,当然也不可以调用实例方法,当然也不可以调用属性。
类方法主要用来创建对象。
9.工厂方法
用来创建对象的。
创建对象更简单。
工厂方法分为:
无参的工厂方法:只会创建一个默认值的对象。
有参的工厂方法:会创建一个指定值的对象。
工厂方法命名:
类方法
方法名:去掉类的前缀,首字母小写。
(+)string;
(+)stringWith… and…;
工厂方法需要自己写。
NSString -> NS前缀(公司名缩写,二、三个字母组成,并大写) String 类名
TRString -> TR(tarena) String类名
HW… -> HW(helloWorld)
最新文章
- 【转】Backbone使用总结
- Matlab绘图详解
- 根据ip判断地区,IP接口
- 通用js类库
- linux下MYSQL备份与恢复
- [转载] Linux下查看内存使用情况方法总结
- 音频播放、录音、视频播放、拍照、视频录制-b
- IIS限制ASP.Net 文件上传大小解决方案,修改IIS7/7.5配置
- [io PWA] keynote: Launching a Progressive Web App on Google.com
- juce Justification 分析
- jQuery ajax表单提交实现局部刷新
- 【原】Java学习笔记021 - Object
- docker笔记(2)-----容器连接
- DHCP服务器的搭建
- LNMP环境下安装Redis,以及php的redis扩展
- 给input标签添加默认提示文字
- ELK之使用heartbeat监控WEB站点
- jenkins和sonar的几个问题
- Cmder-控制台模拟器
- OSGI命令
热门文章
- Emblog 备忘
- Android开发之onClick事件的三种写法
- 一、HTML和CSS基础--开发工具--Sublime前端开发工具技巧介绍
- $GLOBALS['HTTP_RAW_POST_DATA'] 和$_POST的区别
- Wordpress模板制作、改造、设计
- XTU 1242 Yada Number 容斥
- Gym 100650H	 Two Ends DFS+记忆化搜索
- C#图片处理示例(裁剪,缩放,清晰度,水印)
- SU Demos-02Filtering-04Sugabor
- React-Native 之控件布局