学习Objective-C 高效编程
2015-06-05 00:02
477 查看
读Effective Objective-C总结
可以用这种方法,NSNumber *number = @2;
这是字面变量的一种,是不是感觉代码很简洁。
类似的还有很多
比如
第二种明显清晰的多,因此我门初始化数组都建议用字面量的写法
可是此时也应该注意这种情况
arrayWithObjects:初始化时,遇到nil便会停止,而字面辆定义的方式怎么出现程序异常。
上述情况是不是dictB更直观一些
以下两种是编程中注意的
1.在类的头文件中尽量少的引用其他头文件
如果在一个类A中定义了一个类B的属性,事实上他并需要知道B的实现,因此,只需在类A的m文件中加入头文件即可,这也是引用头文件的一个原则,引用头文件的时机尽量延后,那么我门需要解决编译通过的问题,前向声明,或者叫做向前声明,即在类A的h文件中声明class B即可,这也是解决交叉编译常用的手段。那么什么时候才在A的头文件引用B的头文件呢,记住一条原则,只有我门需要用到B的实现细节的时候才这么做。那么这么好处可以减少编译时间,降低类之间的耦合。2.多用字面变量
如定义一个NSNumber *number= [NSNumber numberWithInt:2]可以用这种方法,NSNumber *number = @2;
这是字面变量的一种,是不是感觉代码很简洁。
类似的还有很多
比如
NSArray *array = [NSArray arrayWithObjects:@"a", @"b", @"c", nil]; NSArray *array = @[@"a", @"b", @"c"];
第二种明显清晰的多,因此我门初始化数组都建议用字面量的写法
可是此时也应该注意这种情况
NSString *a = @"a"; NSString *b = nil; NSString *c = @"c"; NSArray *arrayA = [NSArray arrayWithObjects:a, b, c, nil]; NSArray *arrayB = @[a, b, c];
arrayWithObjects:初始化时,遇到nil便会停止,而字面辆定义的方式怎么出现程序异常。
NSDictionary *dictA = [NSDictionary dictionaryWithObjectsAndKeys:@"name", @"value1", nil]; NSDictionary *dictB = @{@"name":@"value"};
上述情况是不是dictB更直观一些
以下两种是编程中注意的
3.多用类型常量,少用#define
4.多用枚举表示状态
相关文章推荐
- Objective-C的内省(Introspection)用法小结
- Objective-C中常用的结构体NSRange,NSPoint,NSSize(CGSize),NSRect实例分析
- Swift调用Objective-C编写的API实例
- Swift、Objective-C、Cocoa混合编程设置指南
- Objective-c代码如何移植为Swift代码 Objective-c代码转移到Swift过程介绍
- Swift调用Objective-C代码
- objective-c中生成随机数的方法
- 在Swift中使用Objective-C编写类、继承Objective-C类
- Swift能代替Objective-C吗?
- Objective-C 消息传递机制详解
- 在一个项目中同时使用Swift和Objective-C代码混合编程的方法
- vm安装mac os x 10.7 lion
- objective-c(一)
- objective-c(二)
- objective-c(三)
- objective-c(四)-基本数据类型以及循环和选择结构
- objective-c(六)文件分离,合成存取方法,方法多参数,局部变量,self使用(未完成)
- windows下objective-c的cocoa框架编程,可以有图形界面哟
- C 的反思穷究链表