黑马程序员- IOS学习笔记OC核心语法
来源:互联网 发布:淘宝客扣费方式 编辑:程序博客网 时间:2024/05/14 21:39
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
点语法
本质上相当于set和get方法
p.age = 10; 等价于[p setAge:10];
int a = p.age; 等价于 int a = [p age];
成员变量作用范围
成员变量的自动生成getter和setter方法
@property int age; // 自动创建私有成员变量_age,并对成员变量的setter和getter方法进行声明和实现。
@synthesize age = _age; // 可以省略
id
万能指针
- (id)init
{
初始化方法;
}
构造方法
作用:进行成员变量的初始化。
应用:需要重写系统的init方法。
1、初始化父类的init方法
self = [super init]; // 当前对象
2、对象初始化成功,才有必要进行接下来的成员变量进行初始化
if (self != nil)
{
// 初始化成功
_age = 10;
}
3、返回一个已经初始化完毕的对象
return self;
精简写法:
无参数:
- (id)init
{
if ( self = [super init] )
{
_age = 10;
}
return self;
}
有参数:
- (id)initWithAge:(int)age
{
if ( self = [super init] )
{
_age = age;
}
return self;
}
分类:
作用:在不改变父类的基础上为父类增加新的方法,便于团队协作。
语法:
@interface Person (Teacher)
// 父类 (分类名称)
@end
@implementation Person (Teacher)
@end
类的深入研究
加载和初始化
/*
1、当程序启动时,会加载项目中的所有类,类加载完毕后调用+load方法
2、当第一次使用某个类时会调用当前类的+initialize方法
3、先加载父类,再加载子类(先调用父类的+load方法,再调用子类的+load方法)
先初始化父类,再初始化子类(先调用父类的+initialize方法,再调用子类的+initialize方法)
4、分类的initialize方法会覆盖父类的initialize方法。
- (NSString *)description 决定了实例对象的输出结果
+ (NSString *)description 决定了类的输出结果
*/
输出c语言字符串时不能有中文
__FILE___
__LINE__
__func__
// 默认输出<类名 对象地址>
NSLog(@"%@",p);
SEL
// 间接调用方法
// 无参数
[p performSelector@selector(方法名)];
// 有参数
[p performSelector:@selector() withObject:@"参数值"];
1、把方法包装成SEL类型的数据
2、根据SEL数据找到对应的方法地址
3、根据方法地址调用对应的方法
// 把test1包装成Sel类型
[p performSelector:@selector(test1)];
// 调用test2方法带参数,转换成SEL类型,注意方法名为test2:
[p performSelector:@selector(test2:) withObject:@"SEL使用"];
- (void)test1
{
//_cmd == @selector(test1); __cmd返回当前方法名
NSString *name = NSStringFromSelector(_cmd);
NSLog(@"调用了%@方法",name);
}
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 0 0
- 黑马程序员- IOS学习笔记OC核心语法
- 黑马程序员--IOS学习日记:06--OC的核心语法
- 黑马程序员--IOS入学学习--8-OC核心语法
- 黑马程序员——OC学习笔记04 核心语法
- 黑马程序员--IOS学习笔记(OC-点语法)
- 黑马程序员----OC核心语法
- 黑马程序员-OC特有语法-学习笔记
- 黑马程序员-----------ios培训 oc核心语法一
- 黑马程序员--------iOS培训 OC核心语法二
- 黑马程序员-OC笔记(四)核心语法
- 黑马程序员-IOS学习笔记-OC基础OC简介及基本语法
- 黑马程序员:OC学习日记之核心语法一
- 黑马程序员:OC学习日记之核心语法二
- 黑马程序员-10.OC的核心语法
- 黑马程序员6 oc核心语法
- 黑马程序员-OC的核心语法
- 黑马程序员-OC的核心语法补充
- 黑马程序员----OC基础--核心语法、关键字
- orale数据类型对应java类型
- OpenCV学习--saturate_cast防止数据溢出
- java.sql.Clob转String
- SDI应用程序调用DestroyWindow()退出程序出现异常引起的一些思考
- OpenCV中图像旋转(warpAffine)算法的实现过程
- 黑马程序员- IOS学习笔记OC核心语法
- 函数专题(简介)
- django 上传文件出现bad request(400)
- 当时只道是寻常
- PAT-BasicLevel 1003 <我要通过>题解
- Grails with ATS Transformation tutorial with a demo example
- 操作符
- adb相关命令
- vim in cygwin