OC基础

原创 2015年11月20日 18:21:47
1. @synthesize
    *用在@implementation
    *用来自动生成setter和getter方法的实现
    *用@synthesize age = _age;就可以代替
- (int)age
{
    return _age;
}
- (void)setAge:(int)age
{
    _age = age;
}


2. @synthesize的细节
    1> @synthesize age = _age;
       *setter和getter实现中会访问成员变量_age
       *如果如果成员变量不存在,就会自动生成一个@private的成员变量_age
    2> @synthesize age;
       *setter和getter方法中会访问变量age
       *如果成员变量age不存在,就会子自动生成一个@private的成员变量age
    3> 手动实现
       *若手动实现了setter方法,编译器就会自动生成getter方法
       *若手动实现了getter方法,编译器就会自动生成setter方法
       *若同时实现setter和getter方法,编译器就不会自动生成不存在的成员变量了

3. @property新特性
       1>自从XCode4之后,@property就独揽了@synthesize的功能,也就是说@property可以同时生成setter和getter的声明和实现
       2>默认情况下,setter和getter方法中的实现,会去访问下划线_开头的成员变量

4. 构造方法
1>init方法的重写
- (instancetype)init
{
    if([self = [super init]){
        _age = 10;
    }
    return self;
}
2>自定义构造方法
- (instancetype)initWithName:(NSString *)name
{
    if([self = [super init]){
        _name = name;
    }
    return self;
}


5. SEL
表示方法的存储位置,每个类的方法列表都存储在类对象中,每个方法都有一个与之对应的sel类型的对象,根绝一个
SEL对象就可以找到方法的地址,进而调用方法。
1> 创建SEL对象
SEL s = @selector(test);
SEL s2 = NSSelectorFromString(@"test");
2> SEL对象的其它用法
// 将SEL对象转为NSString对象
NSString *str = NSStringFromSelector(@selector(test));

// 调用对象p的test方法
Person *p = [Person new];
[p perfromSelector:@selector(test)];
版权声明:本文为博主原创文章,未经博主允许不得转载。

OC面向对象编程基础

  • 2014年12月16日 14:31
  • 26KB
  • 下载

iOS基础知识--OC语言

  • 2017年04月12日 13:00
  • 403KB
  • 下载

黑马程序员-OC语言基础学习(四)

OC语言学习笔记一 ---既然决定14年要好好的努力一次,那么就不要再轻言放弃,不再在随波逐流。只有努力过、拼搏过,才会知道自己行还是不行!为自己加油!--- ---总结的知识点可能有不正确的地方,如...

TTL、CMOS电平、OC门基础知识

  • 2012年04月28日 20:03
  • 275KB
  • 下载

OC 基础教程

  • 2016年05月04日 10:48
  • 46.13MB
  • 下载

OC基础之类别(Category)和扩展(Extension)

类别(Category)类别文件的创建 1.新建文件 2.选择iOS平台Source中的Object-C Fie 3.选择File Type为Category,则可建立相应类的类别文件 类别文件...

oc最基础操作demo

  • 2015年12月01日 15:36
  • 19KB
  • 下载

Swift基础--调用第三方OC项目

Swift与OC进行混编,首先要有一个.h文件,这里使用Bridging-Header.h然后设置项目的Build Settings--Swift Compiler--Objective-C Brid...

OC 基础总结

  • 2015年07月13日 15:37
  • 1.81MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OC基础
举报原因:
原因补充:

(最多只允许输入30个字)