总结一下iPhone开发中需要注意的问题,欢迎补充、交流。
1. 一些控件的坐标要定义成宏的形式,方面适配, 不要用数字写死。
2. 代码中尽量不要出现图片的名字,要定义成宏来完成转换,如果要针对不同的设备、横屏或竖屏有不同的图片的话,要对图片名字的获取做一层转换,可以参考:http://blog.csdn.net/workhardupc100/article/details/7200375
3. 关于对表格的section、row的处理,不要出现1、2、3等数字,最好定义枚举类型进行定义。
4. 要构建项目自己的控件库、公共函数库等。如图片资源的处理、本地化资源的处理、网络模块的处理、数据库的处理、日志输出等需要进行封装,并且与界面进行分离。
对控件的公共行为进行抽象,实现代码复用。一般独立的部分为:
1. 图片资源的处理:各种图片名字的处理,通过一个键值关联出适应于手机类型、手机屏幕的图片名字。
2. 本地化资源的处理
3. 网络模块的数据处理:网络模块可以把数据解析的工作做了,然后把解析好的数据对象传递给使用者。
4. 数据库的封装处理:根据业务,对数据进行抽象封装,抽象出系统通用的资源,接口,尽量不要在代码中直接调用原生接口。
5. 系统共享资源的处理:文件、数据库、全局共享变量、单件实例等等。
6. 日志输出的处理:可以参考:http://blog.csdn.net/workhardupc100/article/details/7200345
7. 需要对使用的空间进行抽象,对共有的行为进行封装,把共有的行为放到父类中。
5. 各个模块间要尽可能的保持独立、松耦合,数据和视图分开。
6. 基于基础的视图控制器,实现项目自身的的视图控制器。 如果项目名称为GG, 可以实现一个视图控制器GGViewController,继承于UIViewController。 另外定义表格使用到的视图控制器GGTableViewController(继承于GGViewController, 由于父类是UIViewController, 这里创建自己的UITableView, 实现Delegate)。 这样一些共同的操作可以放到GGViewController或GGTableViewController中。从而实现代码的复用。
持续更新。。。