oc学习经验

1.重点,需要查询的知识点

2.关于重写init方法

   一定要调用superinit 方法;初始化父类声明中的一些成员变量和其他属性

因为在初始化的时候,先初始化NSObject类,再初始化字的的成员变量,然后把isa指向子类

-(id) init

{

  self = [super init];

 if (self !=nil)//如果初始化成功,才有必要进行接下来的初始化

 //初始化成功

 

 return self;

}

重写构造方法的目的:是为了让对象创建出来,成员变量就会有一些固定的值,

3、继承和组合 selfsuper

4Foundation框架详解 常用的数据类型:字符串(NSString) 数组(NSArray) 字典(NSDictionary) 日期与时间(NSDate) 日期格式(NSDateFormatter) 日历(NSCalendar) 定时器(NSTimer) 键值编码(KVC) 键值监听(KVO) 通知中心(NSNotificationCenter) 通知(NSNotification) 各种数值(NSNumber NSValue NSNull

5、内存管理(allocnewcopyretainreleaseAutoreleasestrongweak) ARC

8、类别(Category) 协议(protocol)

ARC/MRC (内存管理相关)、runtime (运行时相关)、GCD (多线程相关)是 iOS 面试的三大杀器

考察一个面试者基础咋样,基本上问一个 @property 就够了:

@property 后面可以有哪些修饰符?

什么情况使用 weak 关键字,相比 assign 有什么不同?

怎么用 copy 关键字?

这个写法会出什么问题: @property (copy) NSMutableArray *array;

如何让自己的类用 copy 修饰符?如何重写带 copy 关键字的 setter

这一套问题区分度比较大,如果上面的问题都能回答正确,可以延伸问更深入点的:

@property 的本质是什么?ivargettersetter 是如何生成并添加到这个类中的

@protocol category 中如何使用 @property

runtime 如何实现 weak 属性

5.Fundation Kit 介绍

Objective -C包括三个新的语言特性:类方法,即由类本身而不是某个示例来处理的方法,@encode()指令;快速枚举。

NSString用来存储人可以直接看懂的文本,NSArray和NSDictionary用来存储对象的集合,这些集合是不可变的,

6.关于组合和聚合

组合:对象的使用是紧耦合的,创建Computer对象会自动的同时创建Cpu对象。(一体机、笔记本)

优:代码的使用是非常简单的。

缺:灵活度不高。

系统的功能。。。

控制器(UIViewController)与视图(UIView)

聚合:对象的使用是松耦合的,创建Computer对象是不会自动的同时创建Cpu对象,需要手动自己指定Cpu对象,如果Cpu对象满足不了需要是可以替换的。(兼容机)

优:灵活度高。

缺:代码的使用略微复杂。

自定义控件:

TRTableView

TRTableViewCell

7.64位的平台,不管什么类型的指针,其本质是来存放地址,所以任何一个指针类型的变量,其大小只要能容纳下地址就可以,所以都是8个字节。

8.OC  数组只能存放OC对象,不能存放非OC对象类型,比如 int,struct,enum,同时也不能存放空值。


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值