iOS面试题2

1、MVC 和MVVM的区别

2、#import 和#include 有什么区别 , @class 你额? #import<> 和#import"" 有什么区别

3、frame和bounds有什么区别

4、objective-c 的类可以多重继承么? 可以实现多个接口么? Category是什么?重写一个类的方式用继承好还是分类好?为什么?

5、@property 的本质是什么?ivar,getter , setter 是如何生成并添加到这个类的?

6、@property 中有哪些属性关键字,/@property后面剋一有哪些修饰符?

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

8、用@property 声明NSString/NSArray/ NSDictionary 经常使用copy关键字,如果用strong关键字,可能会造成什么问题?

9、写一个setter 方法用于完成property (nonatomic, retain) NSString  *name, 写一个setter 方法用于完成@property (nonatomic , copy) NSString *name

10、@synthesize 和@dynamic分别有什么作用

11、id 声明对象有什么特性

12、Objective-C如何对内存管理,说说你的看法和解决方法

13、为什么我们常见的delegate属性都用的是weak,而不是retain/strong

14、ViewController 生命周期

15、你一般是怎么用instruments 的

16、iOS中常用的数据存储方式有哪些?

17、iOS中多线程技术有哪些,GCD与NSOperation的区别

18、什么是tableView的重用机制?使用注意事项?如何优化TableView?

19、HTTP协议中Post 方法和GET方法有哪些区别?

20、 请写出你知道的排序方法,写出其中一种


后续添加答案,有答案的小伙伴请在下面评论作为参考哦!


答案:

1、阮一峰老师的介绍

MVC的意思是软件可以分为三部分:Controller \ Model\ View层

视图 View:用户界面

控制器 Controller: 业务逻辑

模型 Model :数据保存

view传送指令到controller、 Controller 完成业务逻辑后,要求Model改变状态、Model将信的数据发送给View,用户得到反馈。(我的项目大概就是:Controller 请求网络得到Model数据,完成后Model通过在Controller中的代理方法,来改变View的状态,这样所谓的单向就可以说得通了,但还是有耦合,不知道大家是什么样的处理方式。看到MVP模式,感觉这种有点像,MVC有点说不过去了,MVP, P(Presenter)就是相当于C(Controller), 但是View和Model完全不通信,只通过Pre senter来控制,View和Presenter ,Model和Presenter都是双向通信的,view和model是不发生联系的)

MVVM :

Presenter 改名为ViewModel。基本和MVP模式完全一致,唯一区别就是它采用双向绑定,:View的变动,自动反映在ViewModel,反之亦然。


10、 @synthesize 就是表示编译期间,编译器自动生成getter/ setter 方法, 当有自定义的存取方法时,自定义会屏蔽自动生成的方法

@dynamic 告诉编译器,不自动生成getter/setter 方法,表示自定义生成getter / setter方法,当然如果是readOnly 就可以只实现getter方法,避免编译期间产生警告。然后由自己实现存取方法,或存取方法在运行时动态创建绑定:主要使用在CoreData的实现NSManagedObject 子类时使用,由Core Data框架在程序运行时动态生成子类属性

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.#import和#include的区别 @class?@class一般用于头文件中需要声明该类的某个实例变量的...
    晚照清舟阅读 2,540评论 0 0
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,414评论 30 472
  • 一直都未曾为了梦想而拼搏一番,一直都在等待,想等到一个能让自己尽全力的时机,也许就是现在了。 这一年应该是能让我改...
    现在的孩子真是阅读 1,450评论 0 0
  • Hi,Michael, 很久没有听到你的讯息, 没想到,再听到, 是你走了的讯息! 记忆中的你全被唤起, 第一盘外...
    Kitty_菁彩人生阅读 2,924评论 0 1
  • 我也想有一个 哆啦A梦 是我的那一个 哆啦A梦 我最想要一个 ferryman 是我的那一个 ferryman
    愚初二阅读 1,702评论 0 0

友情链接更多精彩内容