About iOS App Programming 第一天
------Core App Objects
UIKit 提供了基础框架对于所有app,这个框架家主要用处是管理event loop和ios的交互。实现功能是通过继承它进行定制,代理或者其他技术。
app 的核心对象
从app开启,UIKit就是开始存在了,UIkit框架管理了很多app核心方法,包括最核心的UIApplication对象(用来接受来至于系统和调遣定制代码)。其他UIKit类起着管理app方法的角色
为了更好的理解UIKit对象怎样和我们自己代码合作,下面用了苹果的官方文档:
The Data Model
为了压缩数据并且让数据从处理脱离出来,所以需要设计一种数据模型是独立于view和control。
ios提供了一些基本数据类型----NSString,NSNumber,NSURL等等,但是当需要数据本地存储时,我们需要用到 Core Data。
core data
core data 是一个驱动对象管理和实例化的框架,它能帮助开发者把对象存储到文件中和从文件中取出来。
1 coredata 提供了一个基础技术----记录所有收管对象的改变,同时支持时时取消操作和维护对象与对象之间的关系。
2 coredata 可以任何时候让部分的托管对象放在内存中,这样加速了其他逻辑对该对象的读取。
3 coredata 的结构图形化,coredata 将收管对象之间的关系进行了图形化,这样很清晰的描画出来了个对象之间的关系。
4 coredata 本地对数据的修改只要没有提交保存,就不会其他地方的数据影响,类似于git。
5 提供了一些基础的技术用coredata版本的迁移,这样开发者很好的更新老版的coredata。
6 同时支持coredata上传icloud上,这样支持了多设备数据共享。
Document-Based Data Model
数据模型也可以用文件的形式进行存储,这样我们用到UIDocument,这个类提供了很多关于文件的操作。这个类提供了很方便的方法管理app文件写到硬盘上,通过读文件的形式从硬盘读取,这个方式没有coredata方便
The User Interface
每一个ios app至少有一个window来显示它的内容。这个window提供了一个容器,这个容器是用来容纳显示内容UIKit类。
其中viewController的作用是model和view纽带。它从model层获得数据,然后控制这些数据,让它们显示在适当的位置。
UIKit Views
app 能快速构建见面,这个时候UIKit提供了很多很方便的方法,这个让开发能快速的开发想要的效果。
同时拼过提供可视化编程----nib file和storyboard,这样让开发者更加注重逻辑。
The App Bundle
当开发者创建app时,xcode会将它打包成一个bundle,这个bundle是一个字典。其中包含着一些app基本配置和可执行文件。如info.list,App icons,Launch p_w_picpaths等等。