Effective Object_C 2.0 编写高质量ios与OS X代码的52个有效方法之一
来源:互联网 发布:中国电信云计算公司 编辑:程序博客网 时间:2024/05/22 09:38
第1章 熟悉Object-C
第1条:了解Object-C语言的起源
1.面向对象语言
2."消息结构"而非“函数调用”
3.使用消息结构的语言,其运行时所应执行的代码由运行环境决定;
使用函数调用的语言,其运行时所应执行的代码由编译器决定。
4.针对多态来说,函数调用语言需要查虚函数表确定执行哪个函数;
消息调用语言在运行时才去查需要执行的方法,编译器甚至不关系接收消息的对象是何种类型,该过程被称为“动态绑定”。
5.“运行期组件”
第二条 在类的头文件尽量少引用其他头文件
除非有必要,否则不要引进头文件。在头文件中用的类使用向前声明;
无法使用向前声明的时候,尽量把该类单独放在一个头文件中。
第三条 多用字面量语法、少用与之等价的方法
从Object-C 1.0起,可以使用“字面量”,缩短代码长度,更加易读。
字面量字符串
NSString* string = @“Effective Object-C”;
字面量数值
NSNumber* intNum = @1;
int x = 5;
float y = 6.25f;
NSNumber* expressionNumber = @(x*y);
字面量数组
NSArray *animals = @[@"cat",@"dog",@"mouse",@"badger"];
下标访问或者objectAtIndex都可以
字面量字典
NSDictionary* personData = @{@“firstName”:@“Matt”,@"lastName":@"Galloway",@"age":@28};
访问方式:
NSString* lastName = [personData objectForkey:@"lastName"];
字面量语法:
NSSting* lastName = personData[@"lastName"];
局限性
字面量语法,除了字符串以外,所创建出来的对象必须属于Foundation框架才行。这些类的自定义子类,则无法用字面量语法创建其对象。
使用字面量语法创建出来的字符串、数组、字典对象都是不可变的。若想要可变版本的对象,则需要复制一份:NSMutableArray* mutable = [@[@1,@3,@,2,@4] mutableCopy];会多调用一个方法,再创建一个对象,不过使用字面量语法好处还是多余缺点。
要点:
1.应该使用字面量语法来创建字符串、数值、数组、字典。与创建此类兑现的常规方法相比,这么做更加简明扼要。
2.应该通过取下标操作来访问数组下标或字典中的键所对应的元素。
3.用字米娜了语法创建字典和数组时,若值中有nil,则会抛出异常。因此,务必保证值里不含nil.
- Effective Object_C 2.0 编写高质量ios与OS X代码的52个有效方法之一
- Effective Objective-C 2.0 编写高质量iOS与OS X代码的52个有效方法(一)
- Effective Objective-C 2.0 编写高质量iOS与OS X代码的52个有效方法 对象属性 property
- 阅读《Effective Objective-C 2.0 编写高质量iOS与OS X代码的52个有效方法》总结
- 《Effective Object-C 2.0 编写高质量IOS与OS X代码的52个有效方法》笔记
- 《Effective Objective-C 2.0 编写高质量iOS与OS X代码的52个有效方法》--读书笔记
- 《Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法》 笔记1
- <<Effective Objective-C 2.0 编写高质量iOS与OS X代码的52个有效方法>>读书笔记之objc_msgSend
- 【笔记】《Effective Objective-C 2.0编写高质量iOS与OS X代码的52个有效方法》
- 【Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法】总结(一)
- 《Effective Objective-C 2.0编写高质量iOS与OS X代码的52个有效方法》读书笔记(上)
- 《Effective Objective-C 2.0编写高质量iOS与OS X代码的52个有效方法》读书笔记(下)
- 《Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法》阅读笔记
- 编写高质量iOS与OS X代码的52个有效方-Effective Objective-C 2.0阅读笔记
- iOS书摘之编写高质量iOS与OS X代码的52个有效方法
- 关于《Effective OC 2.0:编写高质量iOS与OS X代码的52个有效方法》这本书一些有趣的东西(下)
- 编写高质量iOS与OS X代码的52个有效方法上
- 《编写高质量iOS与OS X代码的52个有效方法》笔记
- Flume中的TaildirSource
- radioGroup+fragment的显示和隐藏
- android自定义带入场出场动画dialog
- oracle创建job并执行job及JOB问题解决汇总
- 03-Ubuntu-gcc命令行调试
- Effective Object_C 2.0 编写高质量ios与OS X代码的52个有效方法之一
- csdn的第一篇博客
- 程序性能优化之map影响
- java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManagedTransaction.getTimeout()L
- IntelliJ IDEA提示找不到符号,或程序包不存在
- URAL 2020. Traffic Jam in Flower Town(模拟)
- IE9及其以下input输入框数字问题
- 2017第五届国际服务机器人核心技术及渠道应用大会即将于5月在京举行!
- 动态显示和隐藏状态栏