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基础-零基础学习Objective-C:第一部分.类和对象

本人也是Objective-C的小白,以下只是记录我学习过程的历程,如有不对的地方或者疑问欢迎指正。 原发表在新浪微博上,现转移到这里 必备工具: 1.一本书,建议《Objective-C基础教程...
  • l522402543
  • l522402543
  • 2015年08月28日 21:45
  • 991

iOS开发之OC最常见面试题总结

1.简述OC中内存管理机制 OC的内存管理机制是自动引用技术,内存管理的原则是谁开辟谁释放,分为ARC和MRC,MRC的话就是需要我们程序员手动管理内存,ARC不需要我们手动管理内存,系统会自行管理...
  • Star__shine
  • Star__shine
  • 2016年04月20日 20:12
  • 7534

OC基础学习重要小知识点总结

1、首先,什么是Objective-C?   Objective-C是一门基于C语言的面向对象语言,C语言的基础上,增加了一层最小的面向对象语法,完全兼容c语言,它在现代计算机的主要作用于Mac ...
  • wutengwei007
  • wutengwei007
  • 2015年02月05日 03:37
  • 1100

OC语法详解

一.基础语法 -(void) setNumerator: (int) n; -符号是实例方法,+号是类方法。 (void)是返回类型,可以是(int)等。 setNumerator方法名。 :符号说明...
  • Blues1021
  • Blues1021
  • 2017年06月12日 08:01
  • 331

iOS --- OC学习资料

学习,是一条很长的路! 学习OC的时候,我的梦想是清晰的 谁也不知道未来会是什么样,不过做自己喜欢的事才是最重要的—兴趣是可以培养的。 有梦想谁都了不起。 接触了开发,了解了代码,你的未来与预...
  • C_Lluckying
  • C_Lluckying
  • 2016年08月04日 22:15
  • 324

iOS开发 ,OC常见的十大面试题 (转自http://www.oschina.net/news/42288/10-objective-c-interview)

苹果的iOS系统越来越火了,苹果这个金矿平台也吸引了大量的iOS开发者参与其中,这也促使越来越多的公司向iOS应用开发方向靠拢,因此市场上 对iOS开发的人才需求自然也非常巨大。如果你准备去面试一个i...
  • u011747227
  • u011747227
  • 2013年11月11日 13:42
  • 1398

iOS常用基础框架和第三方类库

iOS 常用基础框架 框架名称 功能 Foundation 提供OC的基础类(像NSObject)、基本数据类型等 ...
  • liyun123gx
  • liyun123gx
  • 2015年12月17日 18:09
  • 602

(面试加分题)OC中block的基本用法与深入了解

block的基本用法 block是一种数据类型,可以使一段代码块变成一个变量,格式和函数很像. 1,无参无返回: void (^myblock)() = ^(){  ...... };(无参的话前...
  • aa605397965
  • aa605397965
  • 2015年07月16日 22:15
  • 760

OC语言基础

1.  .h(头文件) .m(源文件c、oc) .mm(源文件c、oc、c++) 2.  gcc -c      -o    汇编 3.  -framework Foundation链接  NS开...
  • SilverWinter
  • SilverWinter
  • 2015年04月10日 23:06
  • 435

所有OC 面试题 就是这么简单。真的边边教你 学ios

吐槽一下 有些问题,太模糊,或许提问者都不知道要问什么,或者知道问什么但表达不清楚,提问的人能力有问题啊。。。。。 1、说说OC内存管理; 答:有ARC模式和非ARC模式,ARC模式内存管理...
  • qq_26233519
  • qq_26233519
  • 2015年04月16日 09:22
  • 562
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OC基础
举报原因:
原因补充:

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