转载声明:文章来源https://blog.csdn.net/GCZtian/article/details/42346097
1.loadView 方法会在视图控制器将要使用 view 的时候,如果view 为空,则就会立即调用 loadView 方法去创建 view.viewDidLoad 当 loadView 执行完之后就会立即调用viewDidLoad 方法,然后执行视图加载完成之后的操作.viewDidUnLoad 当我们的应用程序受到内存警告时,会调用该方法,然后做一些卸载视图,释放内存空间的操作.
2.界面间传值的方式有:
属性传值: 属性传值适用于从前往后传值.代理传值:适用于从后往前传值.
单例传值: 适合于从前往后传,从后往前传都可以, 但是内存空间不会被释放直到应用程序结束.NSUserDefaults:数据持久化的一种方式,数据可以长久的存储,存到本地然后再从本地获取.通知:通知的使用需要注册通知,以及发送通知.
block: 需要定义 block,当 block 进行回调时将值传给其他界面,适用于从后往前初始化方法:给第二个界面写一个初始化方法,当进入下一界面时,将第一个界面的值作为初始化方法的参数.适用于从前往后传值.全局变量:适合多个界面之间进行传值,但是空间不会被释放.
3.设计模式有:
单例,delegate,观察者模式,响应者模式,MVC,工厂模式,target。。action。
对 MVC 的理解:模型-视图-控制器。将数据和视图分离开来,简化后续对程序的修改和扩展,使程序的复用性更高,减少耦合度。
Model,数据模型。用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。
View,视图。视图层能够将从模型中得到的数据进行展示,并提供交互方式。
Controller,控制器。组织管理不同层面的视图和数据模型,解除模型和视图之间的耦合。
在MVC中,实现了M和V的代码分离。
Controller可以直接和Model、View进行通信。负责View的事件处理,Model数据显示在View。
View不能直接引用Controller,负责接受用户交互和显示Controller提供的数据。并将事件,提供Controller处理。
Model和View不能直接进行通信,必须通过Controller进 行控制。
优点:低耦合性,重用性高,易于维护。
4. 数据持久化的方式 :
Plist 文件:plist 文件当修改时会将原来的值给重新覆盖掉.NSUserDefaults: 存储一个用户的设置信息,比如记录用户是否是第一次启动程序.存放在 Library 下的 preferences 文件夹下.
文件读写: 文件读写是将数据保存成一个文件,存储在本地,但是只针对于四种数据类型,NSData, NSString, NSArray,NSDictionary.
归档和反归档: 可以对自定义的类来进行数据持久化存储.
数据库: 数据库来实现数据持久化存储的便利性在于可以方便的进行增删改查.
5. 网络的同步的异步的区别 :
同步:我们的程序请求数据,这时应用程序会暂停等待请求结果,当等到请求结果后才继续运行.
异步: 程序发起网络请求,这时程序会等待请求结果,但是不会暂停运行,在这其间也能响应用户的其他操作,等请求结果返回后进行处理.
同步连接容易造成 UI 卡死, 影响用户体验.而异步连接的可控性非常好,而且界面也不会冻结,用户体验好.
Post 和 get 的区别:
Post 和 get 都可以用于从网络请求数据,以及提交数据,不过对于post和get之间
(1) 格式不同,get 请求会把请求参数拼接到 URL 上.而 post请求会把参数以二进制流的形式发给服务器.
(2) Get 请求不安全,post 请求安全性比较高
(3) 请求体大小也不一样,提交数据时,会使用 POST 请求,因为 get 提交的数据最多只能是 1024 字节,而 post 请求则没有大小限制.
帖子还没人回复快来抢沙发