#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
/*
不可变数组 NSArray
初始化
创建一个空的数组
*/
NSArray *array1=[[NSArray alloc]init];
NSArray *array2=[NSArray array];//创建一个空数组
//创建里面只有一个元素的不可变数组
NSArray *array3=[NSArray arrayWithObject:@"Rick"];
//创建里面有多个元素的不可变数组
NSArray *array4=[NSArray arrayWithObjects:@"zhengxinsheng",@"xuyu",@"shenzhengnan"@"chenyaoxing", nil];
//nil只能出现在数组的最后,不能出现在数组中存放nil,因为nil是一个NSArray的结束标志。
//新语法
NSArray *array5=@[@"Rick"];
NSArray *array6=@[@"zhengxinsheng",@"xuyu",@"shenzhengnan",@"chenyaoxing"];//这里不用写
//用数组产生一个新的数组,根据另一个数组产生一个新的数组
NSArray *array7=[NSArray arrayWithArray:array6];
//
NSArray *array8_1=[[NSArray alloc]initWithObjects:@"zhengxinsheng",@"xuyu",@"shenzhengnan",@"chenyaoxing", nil];//这样太麻烦
//从本地未见读取数组
NSArray *array8=[NSArray arrayWithContentsOfFile:@""];
//从网络文件读取数组
NSURL *url=[NSURL URLWithString:@""];//这里写网址
NSArray *array9=[NSArray arrayWithContentsOfURL:url];
//等于
// NSString *array9=[NSArray arrayWithContentsOfURL:[NSURL URLWithString:@""]];
//求数组中元素的个数
NSUInteger count=array6.count;//NSUInteger无符号整形
NSLog(@"%lu",count);
//数组的操作
//访问数组中的元素
//访问array6中的第一个元素
NSString *str=[array6 objectAtIndex:0];//访问第一个元素,并用字符串接收,zenxingsheng
NSLog(@"str=%@",str);
for (int i=0; i<array6.count; i++)
{
NSLog(@"str[%d]=%@",i,[array6 objectAtIndex:i]);
}
//打印数组中的元素(新语法)
NSString *str2=array6[0];
NSLog(@"%@",str2);
NSNumber *number=[NSNumber numberWithInt:5];
//对基本数据类型封装新语法
NSNumber *number2 = @5;
NSNumber *number3=[NSNumber numberWithBool:YES];
//等价于
NSNumber *number4=@YES;
//通过数组中的元素找下标
NSUInteger index=[array6 indexOfObject:@"zenxinsheng"];
NSLog(@"index=%lu",index);
//判断数组中是否存在某个元素
BOOL flag=[array6 containsObject:@"zenxinsheng"];//返回Bool
NSLog(@"%d",flag);
//向不可变数组中增加一个元素,产生新的不可变数组
NSArray *newArray1=[array6 arrayByAddingObject:@"wuzhipeng"];
NSLog(@"%@",newArray1);//把它当做对象输出
NSString *string =@"123-456-789";
NSArray *array11=[string componentsSeparatedByString:@"-"];
NSLog(@"%@",array11);
NSString *string11=[newArray1 componentsJoinedByString:@"-"];//用什么字符串连接数组各个元素
NSLog(@"string11=%@",string11);
//123-456-789
NSArray *array12=@[@"123",@"456",@"789",@"000"];
NSString *str12=[array12 componentsJoinedByString:@"-"];
NSLog(@"%@",str12);
array12=[str12 componentsSeparatedByString:@"-"];//数组接收
NSLog(@"%@",array12);
/*
使用NSArray 类注意事项
1.数组越界:当访问NSArray时,索引超出元素个数之后会报出一个异常结果
,索引最好检查一下索引结果是否越界,然后在进行调用
2.数组会对添加其中的对象自动把引用计数加一
3.不能数组中间存放nil,nil只能出现在数组的最后,因为nil 是一个NSArray结束的标志
*/
}
return 0;
}