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

iOS学习笔记06--NSArry

2014-11-12 20:58 169 查看
今天就来review一下之前学习的知识,之前的学习虽然都会做笔记。但是每次的笔记都是保存在Word文档中以及代码中,显得比较杂乱。现在

回头再来整理一下!

这一次的博客是从object-c的数组开始,在object-c的数组比平时使用的c/c++下的数组强大多了。它可以也是仅仅可以储存Cocoa的对象。对于

平时的普通的数据类型,such as char int double.......等等,都需要进行转换才能保存到OC数组中去。下面,我们就来看一下OC数组的基本操作。

一、先来测试不可变数组 NSArray

顾名思义,不可变数组就是在数组初始化之后数组的长度就不可改变了。

int main(int argc, const char * argv[])
{

@autoreleasepool
{

NSObject *object = [[NSObject alloc] init];
NSArray *array = [NSArray arrayWithObjects:@"mike", @"jack", @"chuck",object, nil];

//输出整个数组
NSLog(@"array = %@", array);
//访问数组通过下标
NSLog(@"%@",[array objectAtIndex:2]);
// NSLog(@"%@",array[1]);//直接通过下标访问成员
//数组的遍历
for (id obj in array){
NSLog(@"%@",obj);
}

[object release];
}
return 0;
}


2014-11-12 21:32:21.707 Foundation05-NSSet[778:303] array = (
mike,
jack,
chuck,
"<NSObject: 0x1001031c0>"
)
2014-11-12 21:32:21.712 Foundation05-NSSet[778:303] chuck
2014-11-12 21:32:21.713 Foundation05-NSSet[778:303] mike
2014-11-12 21:32:21.713 Foundation05-NSSet[778:303] jack
2014-11-12 21:32:21.714 Foundation05-NSSet[778:303] chuck
2014-11-12 21:32:21.714 Foundation05-NSSet[778:303] <NSObject: 0x1001031c0>

可变数组:NSMutableArray

使用这个可变数组,可以根据需求向数组中添加或者删除成员,灵活性非常强。

@autoreleasepool
{

NSObject *object = [[NSObject alloc] init];
NSMutableArray *mutArray = [[NSMutableArray alloc] init];

[mutArray addObject:object];
[mutArray addObject:@"mike"];
[mutArray addObject:@"chuck"];

for (id obj in mutArray){
NSLog(@"%@",obj);
}

[mutArray insertObject:@"zhai Yuanji" atIndex:1];
NSLog(@"----------------");
for (id obj in mutArray){
NSLog(@"%@",obj);
}

[object release];
}
return 0;


对于可变数组来说,还有很多很强大的功能,比如在删除、替换,结合NSRange来进行处理等等。具体直接看.h文件就无敌了。

---to be continue!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: