您的位置:首页 > 职场人生

几道面试小题

2016-05-16 13:51 417 查看
1.代理的优缺点,你在什么情况下会用到代理?

1)优点:

1.代理在自定义控件方面具有其绝对的优势(AFN)

2.在一个控制器中可以定义定义多个不同的协议,每个协议有不同的delegates;

3.非常严格的语法。所有监听到的事件必须是在delegate协议中有清晰的定义。

2)缺点:

1.需要定义很多的代码;1)协议定义;controller的delegate属性;3)在delegate中实现delegate方法

2在释放代理对象时需要小心的将delegate置为nil

应用:

控件比较多,接口比较多的时候;

2.通知的优缺点

1)优点:

1.不需要编写多少代码,实现比较简单

2.可以一对多,即:一个对象发出的通知,多个对象能够做出反应

2)缺点:

1;在释放注册的对象时,需要在通知中心取消注册;

2:在编译期不会检查通知是否能够被观察者正确的处理;

3:通知发出后,controller不能从观察者获得任何的反馈信息。

3.block的优缺点

优点:

1.Blocks 更清晰。比如 一个 viewController 中有多个弹窗事件,Delegate 就得对每个事件进行判断识别来源。而 Blocks 就可以在创建事件的时候区分开来了。这也是为什么现在苹果 API 中越来越多地使用 Blocks 而不是 Delegate。

缺点:

1.缺点是若你的响应部分处理不当,若多次返回,那么你的代码会乱套

场景:

适合BLOCK的显著特点,有明确的发起方和响应方,两者能配对需要紧密联系。如:网络请求。

4.ViewController生命周期

alloc -> initWithNibName -> loadView -> viewDidLoad -> viewWillAppear -> viewDidAppear -> viewWillDisappear -> viewDidDisappear -> dealloc

5.给imageView图片设置圆角

1)在CALayer中设置cornerRadius属性

2) drawRect中使用UIBezierPath画一个圆角的path, 然后clip. 但是如果把UIView的opaque设置成YES, 就会出现黑色的边. 不知道有什么办法可以避免这个问题又能得到最高性能.

6.队列和线程
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: