IOS学习笔记--OC(四)

1.自动生成getter setter方法
xcode4.4之前:
方法声明里@property——–@property 数据类型 名称
方法实现里@synthesize——-@synthesize @property的名称
xcode4.4之后:
@property增强
只需要写1个@property 编译器就会自动
a.生成私有属性
b.生成getter setter的声明
c.生成getter setter的实现

2.判断对象中是否有这个方法:
-(BOOL)respondsToSelector:(SEL)aSelector;

3.判断类中是否有指定的类方法:
+(BOOL)instancesRespondToSelector:(SEL)aSelector;

4.判断指定的对象是否为指定类的对象或者子类对象:
-(BOOL)isKindOfClass:(Class)aClass;

5.判断对象是否为指定类的对象,不包括子类:
-(BOOL)isMemberOfClass:(Class)aClass;

6.判断类是否是另一个类的子类:
+(BOOL)isSubclassOfClass:(Class)aClass;

7.构造方法:
[类名 new]=[[类名 alloc] init]
重写init方法:
a.必须先调用父类的init方法,然后将方法的返回值赋给self
b.调用init方法初始化对象有可能会失败,如果初始化失败,返回nil;
c.判断父类是否初始化成功,判断self的值是否为nil,如果不为nil则初始化成功
d.如果初始化成功,就初始化当前对象的属性
e.最后返回self的值

-(instancetype)init{
    self=[super init];
    if(self!=nil){
        self.name=@"jack";
    }
    return self;
}

Que1.为什么要调用父类的init方法?
Ans:因为父类的init方法会初始化父类的属性,所以必须要保证当前对象中的父类属性也同时被初始化。

Que2:为什么要赋值给self?
Ans:因为调用父类的init方法,会返回初始化成功的对象,实际上返回的就是当前对象,但是我们要判断是否初始化成功

8.自定义构造方法:
规范:
a.自定义构造方法的返回值必须是instacetype
b.自定义构造方法的名称必须以initWith开头;
c.方法的实现和init的要求一样

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值