【第22期】观点:IT 行业加班,到底有没有价值?

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)];
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

Swift 基础语法 <与 OC作对比>

Swift 基础语法 Swift特点和概念: 1.是一门开发语言.用于开发iOS 及 OS x应用 2.是基于cocoa 及 cocoa Touch 框架 3.集合了C及Object-C的优点...

OC基础语法学习笔记 总结

Objective-C语法: 一:对象声明语法:类名 * 对象名 = [[类名 alloc] init] [对象名 release] //释放对象的实例 注:alloc是NSObject的类方法,init是实现类的初始化方法 二:类 @interface MyClass:...

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

OC的基础知识

原文链接: IOS学习之路--OC的基础知识  ios开发三大块: 1.Oc基础 2.CocoaTouch框架 3.Xcode使用   -------------------- CocoaTouc...

OC学习篇之---总结和学习目录

今天终于把OC的基础知识学习完了,但是这些知识只是最基础的,还有很多高级知识,这个可能需要后面慢慢的去学习才能体会到。下面就是这次学习OC的目录教程,如果大家发现有什么不正确的地方,请指正,小弟是新生,多请OC老鸟来喷~~1、OC学习篇之---概述<a target="_blank&...

OC基础知识汇总

OC部分 第一部分   基本概念  OC概述 OC是一种能够完成复杂面向对象编程的简单的计算机设计语言。 通过提供用于定义类和方法的语法,它扩展了标准的c语言。它还提供了类和接...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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