概述
本基础夯实篇为本人学习iOS开发中的对基本语法知识的总结系列,不打算刨根问底,只求实用。本文夯实的内容是开发过程中经常要用到的集合类,由于缺乏项目经验,先对自认为经常会用到的一些基本语法做个总结。
本文主要内容如下:
1.NSArray
2.NSMutableArray
3.NSDictionary
NSArray
1.创建:常用的两种方法为如下形式。很需要注意的是:不同于Java,OC中的NSArray中的元素可以是不同的对象类型。
id obj1 = [[NSObject alloc]init]; id obj2 = @"hushunfeng"; id obj3 = @"cmcc"; NSArray *array = [NSArray arrayWithObjects:obj1,obj2,obj3,nil]; //新语法 NSArray *array2 = @[obj1,obj2,obj3];
第一种定义方法是采用类方法来定义的,是array开头的,这个技巧要记住,也有用实例方法的init开头来定义的,在这里不介绍了。
2.元素的调用:也有两种方法比较常用。如下所示:
//快速语法 array[0] // [array objectAtIndex:0]
3.使用for-in进行遍历:首先得熟悉for-in的用法。
//在for-in中,代码格式为: for(id object in 实例对象) { //实例对象中的元素会自动遍历迭代后赋值给object }
举个例子:
NSArray *array = @[@"hu",@"shun",@"feng"]; for (id object in array) { NSLog(@"%@",object); }
NSMutableArray
1.创建:常用的两种方法为如下形式。
NSMutableArray *array3 = [NSMutableArray arrayWithObjects:@"HU", nil]; NSMutableArray *array4 = [NSMutableArray arrayWithCapacity:10];
2.添加元素的方法:
[array3 addObject:@"shun"];
3.其他查找相应的index元素的用法和NSArray是一样的。
NSDictionary
1.创建:有很多种不同的办法,在这里我们只介绍快速语法: @{key:value},通常情况key会以字符串的形式出现,value类型多样。
2.通过key获取value:dict[key]。
注意:在字典中,key是不会重复的,value可能会有重复。这就决定了:无法通过value来获取key。
举个例子:
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { NSObject *obj1 = @"hushunfengLove"; NSObject *obj2 = [NSNumber numberWithInt:1]; NSDictionary *dic = @{@"name":obj1,@"age":obj2}; NSLog(@"%@",dic[@"age"]); } return 0; }