iOS基石(一)
2015-10-10 19:48
459 查看
iOS约束
typeof NS_ENUM 替代enum
基本数据类型
数据遍历
命名规范
关键字
property 的本质是什么
根据特性,字段注意使用NSUInteger
NSArray *items = @[@1, @2, @3];
for (int i = -1; i < items.count; i++) {
NSLog(@”%d”, i);
}
,for循环一次都没有进。
数组的count是NSUInteger类型的,-1与其比较时隐式转换成NSUInteger,变成了一个很大的数字:
来源:http://blog.sunnyxx.com/2014/12/20/64-bit-tips/
实验结果:http://blog.sunnyxx.com/2014/04/30/ios_iterator/
(int)runModalForDirectory:(NSString )path andFile:(NSString )name andTypes:(NSArray *)fileTypes;
错误,不要使用”and”来阐明有多个参数
(instancetype)initWithName:(CGFloat)width andAge:(CGFloat)height;
正确,使用”and”来表示两个相对独立的操作(从设计上来说,这时候也可以拆分成两个独立的方法)
(BOOL)openFile:(NSString )fullPath withApplication:(NSString )appName andDeactivate:(BOOL)flag;
readonly,readwrite
__strong, __weak
nonatomic,atomic
**block在非ARC模式 使用copy, 栈区-》 堆区, ARC模式下 strong 亦可
NSString、NSArray、NSDictionary 经常使用copy关键字
可通过实现NSCopying, NSMutableCopying协议 - (id)copyWithZone: (NSZone*) zone
copy 修饰符
而不是去 复写 NSObject corp
本文来源: http://www.cocoachina.com/ios/20150803/12872.html
typeof NS_ENUM 替代enum
基本数据类型
数据遍历
命名规范
关键字
property 的本质是什么
iOS约束
typeof NS_ENUM 替代enum
typeof NS_ENUM(NSInteger, ZColor) { ZColorRed, ZColorBlue } 枚举类型的命名规则和函数的命名规则相同:命名时使用驼峰命名法,勿使用下划线命名法。
基本数据类型
避免使用基本类型, 用Foundation数据类型基本 | Foundation数据类型 |
---|---|
int | NSInteger |
unsigned | NSUInteger |
float | CGFloat |
动画时间 | NSTimeInterval (重点) |
NSArray *items = @[@1, @2, @3];
for (int i = -1; i < items.count; i++) {
NSLog(@”%d”, i);
}
,for循环一次都没有进。
数组的count是NSUInteger类型的,-1与其比较时隐式转换成NSUInteger,变成了一个很大的数字:
来源:http://blog.sunnyxx.com/2014/12/20/64-bit-tips/
数据遍历
数组遍历还是更推荐用for-in或block版本实验结果:http://blog.sunnyxx.com/2014/04/30/ios_iterator/
命名规范
错误,不要使用”and”来连接参数(int)runModalForDirectory:(NSString )path andFile:(NSString )name andTypes:(NSArray *)fileTypes;
错误,不要使用”and”来阐明有多个参数
(instancetype)initWithName:(CGFloat)width andAge:(CGFloat)height;
正确,使用”and”来表示两个相对独立的操作(从设计上来说,这时候也可以拆分成两个独立的方法)
(BOOL)openFile:(NSString )fullPath withApplication:(NSString )appName andDeactivate:(BOOL)flag;
关键字
copy,weak(assign |assigin 可作用非OC对象(简单赋值), nil区别),strongreadonly,readwrite
__strong, __weak
nonatomic,atomic
**block在非ARC模式 使用copy, 栈区-》 堆区, ARC模式下 strong 亦可
NSString、NSArray、NSDictionary 经常使用copy关键字
可通过实现NSCopying, NSMutableCopying协议 - (id)copyWithZone: (NSZone*) zone
copy 修饰符
而不是去 复写 NSObject corp
@property 的本质是什么?
待整理本文来源: http://www.cocoachina.com/ios/20150803/12872.html
相关文章推荐
- iOS学习笔记(十七)——文件操作(NSFileManager)
- IOS开发之绝对布局和相对布局(屏幕适配)
- iOS---tableview加载图片的时候的优化之lazy(懒加载)模式and异步加载模式
- AudioService 之 AudioFocus简单例子
- IOS引导页的编写
- iOS抽奖转盘动画之CAKeyFrame关键帧动画
- ios字符串操作
- iOS block 闭包的学习
- IOS 开发之 Method Swizzling + Category
- iOS7 监听耳机拔出
- ios 开发小记 (四)
- iOS:quartz2D绘图
- iOS学习之iOS沙盒(sandbox)机制和文件操作(一)
- iOS开发之保存照片到自己创建的相簿
- iOS 解析不规则json数据
- 头部拉伸效果(iOS)
- ios图片的合成
- ios 调试
- iOS开发相册使用
- ATS是什么