Objective-C 数组一 "不可变数组"
2015-12-14 20:22
501 查看
<pre name="code" class="objc">#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //不可变数组 NSArray //初始化 //创建一个空数组 NSArray *array1 = [[NSArray alloc] init]; NSArray *array2 = [NSArray alloc]; //创建一个里面有多个元素的不可变数组 NSArray *array3 = [NSArray arrayWithObject:@"Rick"]; NSLog(@"array3 = %@",array3); //创建一个里面有多个元素的不可变数组 NSArray *array4 = [NSArray arrayWithObjects:@"zhengyongxai",@"zhengyongya",@"liutao",@"kuncai",nil]; //新语法 NSArray *array5 = @[@"Rick"]; NSArray *array6 = @[@"zhengyongxia",@"zhengyongya",@"liutao",@"kuncai"]; NSLog(@"array6 = %@",array6); //根据另一个数组产生新的数组 NSArray *array7 = [NSArray arrayWithArray:array6]; //从本地文件读取数组 NSArray *array8 = [NSArray arrayWithContentsOfFile:@"/Users/ibokan2/Desktop/hello.html"]; NSLog(@"%@",array8); //从网络读取数组 NSURL *url = [NSURL URLWithString:@"www.baidu.com"]; NSArray *array9 = [NSArray arrayWithContentsOfURL:url]; //求数组中的个数 NSUInteger count = array6.count; NSLog(@"%count = ld",count); // ount = ld for (int i = 0; i < count; i++) { NSString *str = [array6 objectAtIndex:i]; //objectAtIndex对象索引 NSLog(@"str[%d] = %@",i,str); } //新语法访问数组中的元素 NSString *str2 = array6[0]; NSLog(@"str2 = %@",str2); //str2 = zhengyongxia NSNumber *number1 = [NSNumber numberWithInt:5]; //NSNumber number数量 //等价于 NSNumber *number2 = @5; NSLog(@"umber1 = %@",number1); //umber1 = 5 //通过数组中的元素找下标 NSUInteger index = [array6 indexOfObject:@"zhengyongxia"]; //indexOfObject 索引的对象 NSLog(@"index = %ld", index); //index = 0 //如何判断数组中是否存在某个元素 bool flge = [array6 containsObject:@"zhengyongxia"]; //containsObject 包含数组 NSLog(@"flge = %d", flge); //flge = 1 //向不可变数组中增加一个元素。产生新的不可变数组 NSArray *newArray1 = [array6 arrayByAddingObject:@"lihuitang"]; //arrayByAddingObject 通过添加对象数组 NSLog(@"newArray1 = %@",newArray1); for (id obj in newArray1) { NSLog(@"obj = %@", obj); } for (int i = 0; i < [newArray1 count]; i++) { NSLog(@"newArray1 = %@",newArray1); } NSString *string = @"123-456-789"; NSArray *array11 = [string componentsSeparatedByString:@"-"]; //拆 - NSLog(@"array11 = %@",array11); NSArray *arr1 = [string stringByReplacingOccurrencesOfString:@"-" withString:@"~"]; //替换 NSLog(@"%@",arr1); NSString *string11 = [newArray1 componentsJoinedByString:@"-"]; //添加 - NSLog(@"string11 = %@",string11); NSArray *array12 = @[@"123",@"456",@"789"]; NSString *array13 = [array12 componentsJoinedByString:@"--"]; NSLog(@"array13 = %@",array13); NSArray *array14 = [array13 componentsSeparatedByString:@"--"]; //拆 NSLog(@"array14 = %@",array14); // array14 = ( // 123, // 456, // 789 // ) NSString *string12 = [array14 componentsJoinedByString:@""]; NSLog(@"string12 = %@",string12); //string12 = 123456789 /* 使用NSArray 类注意事项 1、数组越界,当访问NSArray 时,索引超出元素个数之后报出一个异常结果。所以最好检查一下索引结果是否越界,然后在进行调用 2、数组会对加入其中的对象自动把引用计数加一 3、不能在数组中间存放nil,nil只能出现在数组的最后,因为nil是一个NSArray 结束的标志 */ } return 0; }
相关文章推荐
- 【转】Objective-C Runtime 消息机制
- IOS开发之NSDictionary里setValue:forKey与setObject:forKey、objectForKey与valueForKey的差异
- Java Object Model(一)
- 由NSObject学到的一点基本知识
- object-c(oc)内存管理机制详解
- 关于PinnedHeaderExpandableListView使用的时候on a null object reference
- Java Socket编程中使用ObjectOutputStream 和 ObjectInputStream 出现问题
- [转]在 Ubuntu 中使用 GNUstep 搭建 Objective-C 开发环境
- Objective-C 引用计数:不讲用法,只说原理
- 借鉴 C# 关于 LINQ 的设计思想用 C++ 11 来实现 LINQ to Object
- Objective-C AES128 Encrypt And Decrypt
- Android属性动画的学习_ObjectAnimator
- WaitForSingleObject 结束线程
- Objective-C Runtime
- 黑马程序员---Java基础---Object类
- android JSON获取值String无法转换成JSONObject
- IOS NSString 截取,objectAtIndex,rangeOfString,stringWithContentsOfFile,NSEnumerator
- html之object标签的classid收集
- Objective-C路成魔【18-复制对象】
- Objective-C 汤姆猫动画实现