2015.04.23(Objective _c---NSArray和NSMutableArray)
来源:互联网 发布:编程小白学python pdf 编辑:程序博客网 时间:2024/05/21 01:44
一、NSArray
#import <Foundation/Foundation.h>
#import "Person.h"
int main(int argc,const char * argv[]) {
@autoreleasepool {
/*
NSString NSArray NSDictionary
*/
// int a[10] = {0,1,2,3...};
// arr1数组对象
__unused NSArray *arr1 =@[@"0",@"1",@"2"];
__unused NSArray *arr2 = [NSArrayarrayWithObjects:@"0",@"1",@"2",nil];
//元素只要是 id类型即可 arr3数组中有两个元素这两个元素都是数组
__unused NSArray *arr3 =@[arr1,arr2];
// 数组对数组进行初始化
__unused NSArray *arr4 = [NSArrayarrayWithArray:arr2];
//NSLog(@">>%@ %@ %@ %@",arr1,arr2,arr3,arr4);
// OC数组中不能存放基本数据类型必须在基本数据类型前加@符 才能保存
// NSString @"10" NSNumber @10
// NSNumber基本数据类型面向对象的封装 基本数据类型转化为NSNumber类型后转变成一个对象
__unused NSArray *arr5 =@[@10,@1.0];
__unused NSNumber *num1 = [NSNumbernumberWithInt:10];
__unused NSNumber *num2 = [NSNumbernumberWithFloat:1.0];
__unused NSNumber *num3 = [NSNumbernumberWithChar:'C'];
__unused NSNumber *num4 = [NSNumbernumberWithBool:TRUE];
Person * p = [[Personalloc] init];
// 格式化输出%@ 调用该对象的description方法 NSObject方法
NSLog(@"%@",p);
__unused NSArray * arr6 =@[arr1,@"wahaha",@10.5,p];
//NSLog(@"%@",arr6);
// 获取数组中元素的个数
NSLog(@"count is %zd",arr6.count);
//下标直接获取数组中的对象
id obj = arr6[0];
NSLog(@"obj is %@",obj);
// 数组越界崩溃问题
NSInteger index = 100;
// 防止数组越界
if(arr6.count > index){
__unused id obj = arr6[index];
}
//通过索引获取数组中的元素
__unused id obj1 = [arr6objectAtIndex:1];
// 遍历数组
// 快速枚举
// obj逐一指向arr6数组中的元素
for (id objin arr6){
//NSLog(@"obj is %@",obj);
// 判断对象类型
if([obj isKindOfClass:[NSStringclass]]){
NSLog(@"obj is NSString %@",obj);
}
}
// 枚举器遍历数组
NSEnumerator * enumer = [arr6 objectEnumerator];
id obj2 = [enumer nextObject];
while (obj2 == [enumer nextObject]) {
NSLog(@"NSEnumerator is %@",obj2);
}
}
return 0;
}
二、NSMutableArray
#import <Foundation/Foundation.h>
int main(int argc,const char * argv[]) {
@autoreleasepool {
// NSArray 不可变数组 不能被修改
// NSMutableArray 可变数组 可被修改
__unusedNSMutableArray * arr1 = [NSMutableArrayarray];
__unusedNSMutableArray * arr2 = [[NSMutableArrayalloc] init];
__unused NSMutableArray * arr3 = [[NSMutableArrayalloc] initWithObjects:@"1",@"2",@"3",@"2",nil];
__unused NSMutableArray * arr4 = [NSMutableArrayarrayWithArray:arr3];
// 添加
// 向可变数组中添加元素
NSLog(@"before arr4 %@ %zd",arr4,arr4.count);
[arr4addObject:@"4"];
NSLog(@"after arr4 is %@ %zd",arr4,arr4.count);
// 删除
// 删除数组中的指定的元素
// [arr4 removeObject:@"3"];
// // 删除数组的最后一项
// [arr4 removeLastObject];
// // 删除数组中的所有元素
// [arr4 removeAllObjects];
// // 删除指定index下标的元素
// [arr4 removeObjectAtIndex:2];
// // 指定一个Range 将满足Range条件的对象删除
// [arr4 removeObject:@"2" inRange:NSMakeRange(0, 2)];
// NSLog(@"%@ %zd",arr4,arr4.count);
// 修改
// - (void)replaceObjectAtIndex:(NSUInteger)index withObject:(id)anObject;
[arr4replaceObjectAtIndex:2 withObject:@"10"];
NSLog(@"%@",arr4);
NSArray * arr5 = @[@"q",@"w",@"e"];
// 将整个数组arr5 当成一个元素添加到arr4中
[arr4addObject:arr5];
// 将数组arr5中的每一个元素都添加到arr4中
[arr4addObjectsFromArray:arr5];
NSLog(@"arr4 is %@",arr4);
}
return 0;
}
- 2015.04.23(Objective _c---NSArray和NSMutableArray)
- Objective-C中数组(NSArray和NSMutableArray)常用用法
- Objective-C语法之NSArray和NSMutableArray
- Objective-c 数组对象 (NSArray 和 NSMutableArray)
- objective-c中的NSArray和NSMutableArray
- Objective-C语法之NSArray和NSMutableArray
- Objective-C语法之NSArray和NSMutableArray
- Objective-C语法之NSArray和NSMutableArray
- Objective-C语法之NSArray和NSMutableArray
- Objective-C语法之NSArray和NSMutableArray
- Objective-C语法之NSArray和NSMutableArray
- Objective-C语法之NSArray和NSMutableArray
- Objective-C语法之NSArray和NSMutableArray
- Objective-C语法之NSArray和NSMutableArray
- Objective-C语法之NSArray和NSMutableArray
- Objective-C语法之NSArray和NSMutableArray
- Objective-C学习-数组 NSArray 和 NSMutableArray
- Objective-C语法 NSArray和NSMutableArray区别
- fastjson
- 马士兵 Servlet_JSP(3) Servlet和JSP的通信(源代码)
- ipbegin10.128.160.168ipend
- [LeetCode]32.Longest Valid Parentheses
- css的选择器.(重点)
- 2015.04.23(Objective _c---NSArray和NSMutableArray)
- ipbegin10.128.160.168ipend
- python IDLE 快捷键
- java 锁框架
- 杭电5054
- Camera 图像处理原理分析- 色彩篇 二
- Objective-C中变量采用@property的各个属性值的含义
- 马士兵 Servlet_JSP(2) JSP源代码)
- Socket编程发送get请求