首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

关于iOS施用设计的一些最佳实践

2012-09-22 
关于iOS应用设计的一些最佳实践时刻铭记着views的生命周期不要在init的方法中访问self.view使用data sourc

关于iOS应用设计的一些最佳实践

时刻铭记着views的生命周期不要在init的方法中访问self.view

使用data source protocols(数据源协议)来明显地将data从view上区分开来

UIViewController

     使用已经存在的navigationitem对象

NSObject

     在头文件中仅暴露公有属性和方法

Debugging

     使用lldb来进行测试

     使用NSZombieEnabled来发现内存泄露

-----------------------------------------------

时刻铭记着views的生命周期

不断地提醒自己,在任何时候,你的view都可能被销毁

(1) 不要在init的方法中访问self.view

你永远不应该在你的controller的init方法中访问self.view。这么做总是会导致很多难于调试的bug,因为在收到一个内存警告之后init的逻辑将无法再次执行一遍。

考虑下面这个简单的例子:

#import "ViewController.h"@interface ViewController()@property (nonatomic, readwrite, assign) NSInteger objectId;// Notice that this property doesn't need to be in the .h. Objective-C will create this// property on the fly!@property (nonatomic, readwrite, retain) UILabel* objectLabel;@end@implementation ViewController@synthesize objectId;@synthesize objectLabel;...@end

Debugging

(1)使用lldb来进行测试

lldb允许你检查类的属性,不需要在对象的实例上有明确地定义

(2)使用NSZombieEnabled来发现内存泄露

当NSZombieEnabled被使用,那些从内存中被释放的对象都将被保存为“zombies”。如果在未来的某个时间你企图再次访问这些已被释放的对象。这对于你去判断在什么地方发生内存泄露将会大有帮助。

(注:关于这两个debug的配置,请自行google)


热点排行