NSArray
2015-06-10 16:22
232 查看
// // main.m // 03-NSArray // // Created by apple on 13-8-12. // Copyright (c) 2013年 itcast. All rights reserved. // #import <Foundation/Foundation.h> #import "Person.h" /* NSArray :不可变数组 NSMutableArray : 可变数组 */ int main() { // @[] 只创建不可变数组NSArray /* 错误写法 NSMutableArray *array = @[@"jack", @"rose"]; [array addObject:@"jim"]; */ //NSArray *array = @[@"jack", @"rose"]; return 0; } // 可变数组的基本使用 void use3() { NSMutableArray *array = [NSMutableArray arrayWithObjects:@"rose", @"jim", nil]; // 添加元素 [array addObject:[[Person alloc] init]]; [array addObject:@"jack"]; // 删除元素 //[array removeAllObjects]; // 删除指定的对象 // [array removeObject:@"jack"]; [array removeObjectAtIndex:0]; // 错误写法 // [array addObject:nil]; NSLog(@"%@", array); NSLog(@"%ld", array.count); } // 遍历数组 void use2() { Person *p = [[Person alloc] init]; NSArray *array = @[p, @"rose", @"jack"]; // for (int i = 0; i<array.count; i++) // { // NSLog(@"%@", array[i]); // } // id obj代表着数组中的每一个元素 //int i = 0; // for (id obj in array) // { // // 找出obj元素在数组中的位置 // NSUInteger i = [array indexOfObject:obj]; // // NSLog(@"%ld - %@", i, obj); // //i++; // // if (i==1) // { // break; // } // } [array enumerateObjectsUsingBlock: // 每遍历到一个元素,就会调用一次block // 并且当前元素和索引位置当做参数传给block ^(id obj, NSUInteger idx, BOOL *stop) { NSLog(@"%ld - %@", idx, obj); if (idx == 0) { // 停止遍历 *stop = YES; } }]; // void ^(myblock)(id, NSUInteger, BOOL *) = ^(id obj, NSUInteger idx, BOOL *stop) // { // NSLog(@"%ld - %@", idx, obj); // // // if (idx == 0) // { // // 停止遍历 // *stop = YES; // } // }; // // for (int i = 0; i<array.count; i++) // { // // 用来标记是否需要停止遍历 // BOOL isStop = NO; // // // 取出元素 // id obj = array[i]; // // myblock(obj, i, &isStop); // // // if (isStop) // { // break; // } // } } void use() { /* int a = 5; int ages[10] = {1, 90, 89, 17}; Person *p = [[Person alloc] init]; Person *persons[5] = {p, [[Person alloc] init]}; */ // OC数组不能存放nil值 // OC数组只能存放OC对象、不能存放非OC对象类型,比如int、struct、enum等 // 这个array永远是空数组 // NSArray *array = [NSArray array]; /* 1.NSArray的创建 */ NSArray *array2 = [NSArray arrayWithObject:@"jack"]; // nil是数组元素结束的标记 NSArray *array3 = [NSArray arrayWithObjects:@"jack", @"rose", nil]; // [array2 count]; //NSArray *array4 = [NSArray arrayWithObjects:@"jack", @"rose", @"4324324", nil]; // 快速创建一个NSArray对象 NSArray *array4 = @[@"jack", @"rose", @"4324324"]; /* 2.NSArray的元素个数 */ NSLog(@"%ld", array3.count); /* 3.NSArray中元素的访问 */ NSLog(@"%@", [array3 objectAtIndex:1]); //array3[1]; NSLog(@"%@", array3[0]); }
相关文章推荐
- JAVA把字符串当作表达式运行
- webView 手势缩放以及自适应屏幕
- git 使用基础
- lirc红外学习irrecord
- [Python]网络爬虫(九):百度贴吧的网络爬虫(v0.4)源码及解析
- eclipse里的svn不显示版本号或修改人、修改时间
- Ubuntu 14.10安装SecureCRT 7.3
- [leetcode 11]Container With Most Water
- [FZYZOJ 1600] [NOIP福建夏令营]台阶问题
- HDU_2074 叠筐
- rust map的使用:获取某个key对应的value,如果不存在就插入一个
- [Python]网络爬虫(八):糗事百科的网络爬虫(v0.3)源码及解析(简化更新)
- [Python]网络爬虫(七):Python中的正则表达式教程
- STL标准
- POJ3126--- Prime Path
- spinner自定义布局文件设置字体大小和颜色
- maven处理依赖冲突(未完)
- 参数嗅探(Parameter Sniffing)(1/2)
- 微信支付实战详解
- 应聘互联网公司,简历应该怎么写?