1.Cocoa框架:
Cocoa是OS X和 iOS操作系统的程序的运行环境。
是什么因素使一个程序成为Cocoa程序呢?不是编程语言,因为在Cocoa开发中你可以使用各种语言;也不是开发工具,你可以在命令行上就可以创建Cocoa程序。Cocoa程序可以这么说,它是由一些对象组成,而这些对象的类最后都是继承于它们的根类 :NSObject。而且它们都是基于Objective-C运行环境的。
iOS中,Cocoa众多框架中最重要最基本的两个框架是:Foundation 和 UIKit。
Foundation 和界面无关,也可以说和界面无关的类基本是Foundation框架的,和界面相关的是UIKit框架。
这两个框架在系统中处于的位置如图:
Foundation框架:
UIKit框架:
2.React框架:
React是脸书为Web端开发的一个开源框架。
React Native是脸书为移动端跨平台开发的一个开源框架。
3.主要设计模式:
https://www.cnblogs.com/wangbinios/p/7882082.html
4.网络开发相关技术,如 Socket,HTTP,REST:
WEB使用HTTP作传输层协议,以封装HTTP文本信息,然后使用TCP/IP做传输层协议将它发送到网络上。Socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,我们才能使用TCP/IP协议。
iOS可以利用第三方框架CocoaAsyncSocket实现Scocket
iOS可以利用第三方框架SocketRocket实现webSocket
REST式的服务最重要的三个特征就是**无状态性**(statelessness)、**统一资源定位**(uniform resource identification)和**可缓存性**(cacheability)。
REST式服务总是无状态的。每次API调用都被视作新的请求,服务器并不会记录客户端上下文。客户端需要维护服务器的状态,包括但不限于缓存服务器响应(response)和登录访问令牌(login access token)。
REST式服务的资源定位是通过URL实现的。REST不使用资源ID作为参数,而是将它作为URL的一部分。例如,http://example.com/resource?id=1234REST服务中就变成了http://example.com/resources/1234。在
REST式服务使用这种方式进行资源定位,而且也不维护客户端状态,这就使客户端可以根据URL缓存响应,就像浏览器缓存网页一样。
REST式服务的响应通常以一种统一的、双方一致同意的格式返回给客户端,这样可以更好地对客户端接口和服务器接口进行解耦。客户端的iOS应用使用双方一致同意的数据交换格式与RESTful服务器进行通信。到目前为止,最常用的格式是XML和JSON。
5.数据存储相关技术:
XML属性列表(plist)归档
Preference(偏好设置)
NSKeyedArchiver归档(NSCoding) // 所谓归档,是一个过程,即用某种格式来保存一个或者多个对象,以便以后还原这些对象。
特点:
1> 可以存储自定义模型对象,NSKeyedArchiver归档相对较plist存储而言,它可以直接存储自定义模型对象,而plist文件需要将模型转为字典才可以存储自定义对象模型;
2> 归档不能存储大批量数据(相比较Sqlite而言),存储数据到文件是将所有的数据一下子存储到文件中,从文件中读取数据也是一下子读取所有的数据;
缺点:
1> 假如你的文件中有100个对象了,然后你想在利用归档添加一个对象,你需要先把所有的数据解档出来,然后再加入你想添加的那个对象,同理,你想删除一个文件中的一个对象也是,需要解档出所有的对象,然后将其删除。性能低这样处理
2> 基本使用:需要归档的模型类必须要遵守NSCoding协议,然后模型实现类中必须实现两个方法:1>encodeWithCoder -> 归档;2> initWithCoder: - > 解档
SQLite3
Core Data
6.面向接口开发模式:
objc是一门面向对象的语言,面向对象也给我们平时带来了很多的方便。然而很多情况下面向对象也有自己的局限性,滥用继承多态可能会埋下很多坑。
在实际采用多态的时候会有下面四种情况:
父类有部分public的方法是不需要,也不允许子类覆重
父类有一些特别的方法是必须要子类去覆重的,在父类的方法其实是个空方法
父类有一些方法是可选覆重的,一旦覆重,则以子类为准
父类有一些方法即便被覆重,父类原方法还是要执行的
父类有一些方法即便被覆重,父类原方法还是要执行的
因为我们规定了父类方法不可以被覆盖重载,只能通过接口实现的方式来写.
参考链接: https://casatwy.com/tiao-chu-mian-xiang-dui-xiang-si-xiang-er-duo-tai.html
7.Git 版本控制工具和缺陷跟踪系统:
git add .
git commit -m ‘initial commit’
git push
git pull
题外话:一般在开发中,多人合作开发的时候,版本控制非常重要,所以一定要有稳定的主分支Master,开发功能的分支developer,预发布的分支release这三个重要分支。每次有新功能和需求的时候每个开发人员就从developer分支分别拉取项目开发,最后合并入developer,功能完成后就并入release,修改bug时在release分支操作,修复完成后分别并入Master和developer分支,最后从Master分支拉取最终的代码打包上传APP Store。
项目管理和缺陷跟踪工具——Redmine
网友评论