您的位置:首页 > 移动开发 > IOS开发

IOS开发笔记 框架篇

2014-07-05 04:10 162 查看
注:楼主开发多年,向来没有做笔记的习惯,遇到Bug或者遗忘的知识往往需要再查资料,非常痛苦,故最近开始写Blog,也因此有机会写出本文,权当作笔记和备忘,只为了以后复习方便,也希望对其他新人有所帮助。
本文总结了IOS开发中的一些框架及其常用方法。
感悟:
年少轻狂时,对框架总是一懂半懂,后来经过不断对摸爬滚打,吃亏无数,现在一提框架,第一反应变成是:“啊,框架,那是相当的重要!”
框架不仅仅是方法,而真的是程序这座房屋的框架,剩下的自己写的代码只是在框架上贴上房顶,砌上墙,然后在墙上刮上白灰,贴上墙纸,屋里摆些摆件而已。没错,仅此而已。
框架分两个层次:1: 系统自带的框架 2: 自己写程序要有框架,一旦有能力这样做,你就是所谓的“架构师”(此处吐槽)了。

以下及以后要补充的主要系统的框架为主。
1:Foundation常用类
http://blog.csdn.net/wu_shu_jun/article/details/8693495
NSNumber, NSString, NSArray, 
1.1: NSNumber: 主要用来将基本数据类型封装为对象

//封装
NSNumber *monthNumber = [NSNumber numberWithInt: 03]; //还有 numberWithFloat 等等
//还原
int month = [monthNumber intValue];


1.2: NSString: 创建字符串

//创建一个常量字符串
NSString *string1 = @"常量字符串";
//创建一个空字符串
NSString *string2 = [[NSString alloc] init];
NSString *string3 = [NSString string];
//快速创建一个字符串
NSString *string4 = [[NSString alloc] initWithString: @"实例方法快速创建字符串"];
NSString *string5 = [[NSString stringWithString: @"类方法快速创建字符串"];    //******重要******
//创建一个格式化的字符串   堆区
NSString *string6 = [[NSString alloc] initWithFormat: @"实例化创建格式化的字符串  number is %i", 10];
NSString *string7 = [[NSString stringWithFormat: @"类方法创建格式化的字符串 float is %f", 10.8];
//比较地址和内容:
//比较的是指向的地址
if(string8 = string9) {
......
}
//比较字符串的内容
if(string8 isEqualToString: string9){
......
}


1.3: NSArray(创建数组) and NSMutableArray(创建可变数组)

功能主要有:创建, 长度,查找(有没有,第几个),插入,删除,
关键词: Object, Index

//数组的创建
NSArray *array1 = [NSArray arrayWithObject: @"one"];
NSArray *array2 = [NSArray arrayWithObject: @"one", @"two", @"three", nil];
NSArray *array3 = [NSArray arrayWithArray: array1];
//取数组的长度
int count = [array2 count];
//取数组中指定位置的对象
NSString *string1 = [array2 objectAtIndex: 1];
//判断数组中是否包含指定的对象
BOOL isContain = [array2 indexOfObject: "two"];
//返回指定对象的下标
int index = [array2 indexOfObject: @"two"];
//返回数组中的最后一个对象
NSString *string3 = [array2 lastObject];
//将数组组成一个字符串
NSString string3 = [array2 componentsJoinByString: @","];  //******理解******

//可变数组 NSMutableArray
NSMutableArray * mutableArray1 = [NSMutableArray arrayWithObjects: @"one", @"two", @"three", nil];
//注意各个方法单词的前些部分,add, insert remove, replace 都很有规律
//添加
[mutableArray1 addObject:@"four"];
//指定位置插入一个数
[mutableArray1 insertObject: @"four" atIndex: 3];
//删除指定对象
[mutableArray1 removeObject: @"one"];
//替换
[mutableArray1 replaceObjectAtIndex: 2 withObject: @4"];
//数组的遍历Iterator ******重要******
//这种方式效率低
int i  = 0;
int count1 = [mutableArray1 count];
for(i = 0; i < count1; i++){
NSLog(@"element: %@, [mutableArray1 objectAtIndex:i]")
}
//效率高 当不确定对象当类型时,可以将NSString用id代替, 用id时不要用*
for(NSString *str in mutableArray1){
NSLog(@"element:  %@", str);
}


http://blog.csdn.net/wu_shu_jun/article/details/8694317
1.4: NSDictionary 和 NSMutableDictionary字典类: 键-值对
可变字典类NSMutableDictionary继承NSDictionary
同样有效率高低方法

1.5 NSSet 和 NSMutableSet: 集合 可以做交集,并集。
创建, 删除元素,取元素, 取个数, 放入数组, 是否包含某个对象, 判断两个Set是否有交集, 是否相同, 是否为包含关系, 交集,并集,集合相减。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息