iOS 复习题(4)
3、通告机制(Notification):当需要多个对象或两个无关对象处理同一个事件时。
4、Block:适用于回调只发生一次的简单任务。
9、列出在编码中哪些编码习惯有助于提高代码质量、软件性能和健壮性,减少程序崩溃。
#使用严格的命名规则(如匈牙利命名法)能够避免不必要的类型转换错误。
#在编码前先设计好流程图或使用伪代码,清晰化整个设计意图。
#对自己的代码进行严格的单元测试(unittesting)。
单元测试是指对软件中的最小可测试单元进行检查和验证。如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。
#异常的处理
首先不要轻易使用异常的捕获,其次要尽可能捕获具体的异常。对于异常的处理最好能够采用封装的方式,大家统一使用。这样可以保证异常处理的一致性也可以保证当异常出现时性能的稳定。
# 写防御性的代码,使用内省的方法检查传入的参数。
OC语言具备内省的方法,比如NSObject具有如下方法:
- (BOOL)isKindOfClass:(Class)aClass;
- (BOOL)isMemberOfClass:(Class)aClass;
- (BOOL)conformsToProtocol:(Protocol *)aProtocol;
- (BOOL)respondsToSelector:(SEL)aSelector;
#采用增量式的编程方式。
采用增量式编程和测试,会倾向于创建更小的方法和更具内聚性的类。你应该经常评估代码质量,并不时的进行许多小调整,而不是一次修改许多东西。在写了几行代码之后,就应该进行一次构建/测试。在没有得到反馈时,你不要走的太远。
#使用工具(如Instrument)来帮助检查内存泄漏、过早释放内存、CPU使用效率等问题。
#消除所有的编译警告,警告就是错误。
10、JSON中{ }代表_____,[ ]代表_____,试将下面的JSON串用OC对象表示出来:
{"people": [
{ "firstName": "Brett","lastName":"McLaughlin", "email":"aaaa" },
{"firstName": "Jason","lastName":"Hunter", "email": "bbbb"},
{ "firstName":"Elliotte", "lastName":"Harold","email": "cccc" }
],
“location”:”中华人民共和国”
}
JSON中{}代表对象,数据结构为{key1:value1, key2:value2, key3: …… }
[ ]代表数组,与其他语言中的数组类似。
//
@interface People :NSObject
@property (nonatomic, copy)NSString* strFirstName;
@property (nonatomic, copy)NSString* strLastName;
@property (nonatomic, copy)NSString* strEmail;
@end
//
@interface JSonData :NSObject
@property (nonatomic,retain) NSMutableArray* arrPeople; // 存放People对象的数组
@property (nonatomic, copy)NSString* strLocation;
@end
相关新闻>>
- 发表评论
-
- 最新评论 更多>>