读书人

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

发布时间: 2012-09-22 21:54:54 作者: rapoo

关于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)


读书人网 >操作系统

热点推荐