Foundation框架基础 NSArray
来源:互联网 发布:linux安装fcitx输入法 编辑:程序博客网 时间:2024/05/08 17:47
Foundation/Foundation.h>
#import"CZDog.h"
#import "CZPerson.h"
/*
NSArray:不可以变
*/
intmain(intargc,const char * argv[]) {
// 字符串转数组
NSArray *array =@[@"a",@"b",@"c",@"d"];
// 写入文件
// NSString *path = @"/Users/apple/Desktop/test.plist";
// BOOL isSuccess = [array writeToFile:path atomically:YES];
// if (isSuccess) {
// NSLog(@"写入成功!");
// }
#import "CZPerson.h"
/*
NSArray:不可以变
*/
intmain(intargc,const char * argv[]) {
// 字符串转数组
NSArray *array =@[@"a",@"b",@"c",@"d"];
// 写入文件
// NSString *path = @"/Users/apple/Desktop/test.plist";
// BOOL isSuccess = [array writeToFile:path atomically:YES];
// if (isSuccess) {
// NSLog(@"写入成功!");
// }
//// 从文件中读取内容
// array = [NSArray arrayWithContentsOfFile:path];
// NSLog(@"%@",array);
// array = [NSArray arrayWithContentsOfFile:path];
// NSLog(@"%@",array);
//
// URL 写入
NSURL *url = [NSURLURLWithString:@"file:///Users/apple/Desktop/test.plist"];
BOOL isSuccess = [arraywriteToURL:urlatomically:YES];
if (isSuccess) {
NSLog(@"写入成功!");
}
// URL 读
array = [NSArrayarrayWithContentsOfURL:url];
NSLog(@"%@",array);
return 0;
}
voidtestCompent()
{
// 字符串转数组
NSString *string =@"1 2 3 4 5 6";
// 使用字符串来分割原来的字符串成一个数组
NSArray *array = [stringcomponentsSeparatedByString:@" "];
NSLog(@"%@",array);
// 把数组组装字符串
NSString *str = [arraycomponentsJoinedByString:@"-"];
NSLog(@"%@",str);
}
voidtestSorted()
{
// 数组遍历(4种方式)
CZDog *dog = [[CZDogalloc]init];
dog.name=@"xiaohei";
dog.age=10;
CZDog *dog2 = [[CZDogalloc]init];
dog2.name=@"xiaohuang";
dog2.age=11;
CZDog *dog3 = [[CZDogalloc]init];
dog3.name=@"xiaohong";
dog3.age=6;
CZDog *dog4 = [[CZDogalloc]init];
dog4.name=@"xiaobai";
dog4.age=6;
NSURL *url = [NSURLURLWithString:@"file:///Users/apple/Desktop/test.plist"];
BOOL isSuccess = [arraywriteToURL:urlatomically:YES];
if (isSuccess) {
NSLog(@"写入成功!");
}
// URL 读
array = [NSArrayarrayWithContentsOfURL:url];
NSLog(@"%@",array);
return 0;
}
voidtestCompent()
{
// 字符串转数组
NSString *string =@"1 2 3 4 5 6";
// 使用字符串来分割原来的字符串成一个数组
NSArray *array = [stringcomponentsSeparatedByString:@" "];
NSLog(@"%@",array);
// 把数组组装字符串
NSString *str = [arraycomponentsJoinedByString:@"-"];
NSLog(@"%@",str);
}
voidtestSorted()
{
// 数组遍历(4种方式)
CZDog *dog = [[CZDogalloc]init];
dog.name=@"xiaohei";
dog.age=10;
CZDog *dog2 = [[CZDogalloc]init];
dog2.name=@"xiaohuang";
dog2.age=11;
CZDog *dog3 = [[CZDogalloc]init];
dog3.name=@"xiaohong";
dog3.age=6;
CZDog *dog4 = [[CZDogalloc]init];
dog4.name=@"xiaobai";
dog4.age=6;
NSArray *array =@[dog,dog2,dog3,dog4];
// 排序
// 通过selecor 选择器 进行排序
// array = [array sortedArrayUsingSelector:@selector(compare:)];
NSLog(@"%@",array);
// 第二种方式 使用比较器(block)
// array = [array sortedArrayUsingComparator:^NSComparisonResult(CZDog * obj1, CZDog * obj2) {
//
// if(obj1.age == obj2.age){
// return [obj1.name compare:obj2.name];
// }else if(obj1.age > obj2.age){
// return NSOrderedDescending;//降序
// }else{
// return NSOrderedAscending;//升序
// }
////
//// return [obj1.name compare:obj2.name];
// }];
// 通过selecor 选择器 进行排序
// array = [array sortedArrayUsingSelector:@selector(compare:)];
NSLog(@"%@",array);
// 第二种方式 使用比较器(block)
// array = [array sortedArrayUsingComparator:^NSComparisonResult(CZDog * obj1, CZDog * obj2) {
//
// if(obj1.age == obj2.age){
// return [obj1.name compare:obj2.name];
// }else if(obj1.age > obj2.age){
// return NSOrderedDescending;//降序
// }else{
// return NSOrderedAscending;//升序
// }
////
//// return [obj1.name compare:obj2.name];
// }];
NSLog(@"%@",array);
// 第三种方式:属性描述器
NSSortDescriptor *desc1 = [NSSortDescriptorsortDescriptorWithKey:@"age"ascending:YES];
NSSortDescriptor *desc2 = [NSSortDescriptorsortDescriptorWithKey:@"name"ascending:YES];
array = [array sortedArrayUsingDescriptors:@[desc1,desc2]];
NSLog(@"%@",array);
}
voidtestMakeObjectsPerform()
{
// 数组遍历(4种方式)
CZDog *dog = [[CZDogalloc]init];
dog.name=@"xiaohei";
CZDog *dog2 = [[CZDogalloc]init];
dog2.name=@"xiaohuang";
CZDog *dog3 = [[CZDogalloc]init];
dog3.name=@"xiaohong";
CZDog *dog4 = [[CZDogalloc]init];
dog4.name=@"xiaobai";
NSSortDescriptor *desc1 = [NSSortDescriptorsortDescriptorWithKey:@"age"ascending:YES];
NSSortDescriptor *desc2 = [NSSortDescriptorsortDescriptorWithKey:@"name"ascending:YES];
array = [array sortedArrayUsingDescriptors:@[desc1,desc2]];
NSLog(@"%@",array);
}
voidtestMakeObjectsPerform()
{
// 数组遍历(4种方式)
CZDog *dog = [[CZDogalloc]init];
dog.name=@"xiaohei";
CZDog *dog2 = [[CZDogalloc]init];
dog2.name=@"xiaohuang";
CZDog *dog3 = [[CZDogalloc]init];
dog3.name=@"xiaohong";
CZDog *dog4 = [[CZDogalloc]init];
dog4.name=@"xiaobai";
NSArray *array =@[dog,dog2,dog3,dog4];
// 让数组中的所有元素执行某个方法
[array makeObjectsPerformSelector:@selector(bark)];
[array makeObjectsPerformSelector:@selector(eat:)withObject:@"骨头"];
}
voidtestBianLi()
{
// 数组遍历(4种方式)
CZDog *dog = [[CZDogalloc]init];
dog.name=@"xiaohei";
CZDog *dog2 = [[CZDogalloc]init];
dog2.name=@"xiaohuang";
CZDog *dog3 = [[CZDogalloc]init];
dog3.name=@"xiaohong";
CZDog *dog4 = [[CZDogalloc]init];
dog4.name=@"xiaobai";
[array makeObjectsPerformSelector:@selector(bark)];
[array makeObjectsPerformSelector:@selector(eat:)withObject:@"骨头"];
}
voidtestBianLi()
{
// 数组遍历(4种方式)
CZDog *dog = [[CZDogalloc]init];
dog.name=@"xiaohei";
CZDog *dog2 = [[CZDogalloc]init];
dog2.name=@"xiaohuang";
CZDog *dog3 = [[CZDogalloc]init];
dog3.name=@"xiaohong";
CZDog *dog4 = [[CZDogalloc]init];
dog4.name=@"xiaobai";
NSArray *array =@[dog,dog2,dog3,dog4];
// 使用普通for
// for (int index = 0; index < array.count; index++) {
// CZDog *dog = array[index];
// NSLog(@"%@",dog);
// }
// 使用增加for(最常用)
// for (CZDog *dog in array) {
//
// NSLog(@"%@",dog);
//
// }
// 通过枚举器
// NSEnumerator *enumer = [array objectEnumerator];
// CZDog *newDog;
// while (newDog = [enumer nextObject]) {
// NSLog(@"%@",newDog);
// }
// 通过block方式
// idx 表示这个元素在数组索引
// for (int index = 0; index < array.count; index++) {
// CZDog *dog = array[index];
// NSLog(@"%@",dog);
// }
// 使用增加for(最常用)
// for (CZDog *dog in array) {
//
// NSLog(@"%@",dog);
//
// }
// 通过枚举器
// NSEnumerator *enumer = [array objectEnumerator];
// CZDog *newDog;
// while (newDog = [enumer nextObject]) {
// NSLog(@"%@",newDog);
// }
// 通过block方式
// idx 表示这个元素在数组索引
// stop 设置为YES 那么就不往后遍历的
[arrayenumerateObjectsUsingBlock:^(CZDog* dog, NSUInteger idx,BOOL*stop) {
NSLog(@"%@-%zd",dog,idx);
if (idx ==2) {
*stop = YES;
}
}];
}
voidtestArray()
{
CZDog *dog = [[CZDogalloc]init];
dog.name=@"xiaohei";
CZDog *dog2 = [[CZDogalloc]init];
dog2.name=@"xiaohei";
CZPerson *person = [[CZPersonalloc]init];
person.name=@"apple";
NSLog(@"%@-%zd",dog,idx);
if (idx ==2) {
*stop = YES;
}
}];
}
voidtestArray()
{
CZDog *dog = [[CZDogalloc]init];
dog.name=@"xiaohei";
CZDog *dog2 = [[CZDogalloc]init];
dog2.name=@"xiaohei";
CZPerson *person = [[CZPersonalloc]init];
person.name=@"apple";
NSArray *arr =@[dog,person];
// 获取数组中的元素
// 通过对象方法 取出第0个元素
CZDog *dog1 = [arrobjectAtIndex:0];
NSLog(@"%@",dog1);
// 快捷方式 取出第0个元素
dog1 = arr[0];
NSLog(@"%@",dog1);
// 获取数组长度
long len = [arrcount];
len = arr.count;
// 通过对象方法 取出第0个元素
CZDog *dog1 = [arrobjectAtIndex:0];
NSLog(@"%@",dog1);
// 快捷方式 取出第0个元素
dog1 = arr[0];
NSLog(@"%@",dog1);
// 获取数组长度
long len = [arrcount];
len = arr.count;
NSLog(@"%zd",len);
// 判断数组中是否包含某个元素
// 判断是不是包含某个对象,调用这个对象上isEqual方法
BOOL isContain = [arrcontainsObject:dog2];
if (isContain) {
NSLog(@"包含!");
}
}
voidtestCreateArray()
{
// NSArray 的创建
// 简洁的构造方法
// nil 表示数组结束了,不要创建数组的中间加入nil
// NSArray *array = [NSArray arrayWithObjects:@"a",nil,@"b",@"c",nil];
CZDog *dog = [[CZDogalloc]init];
dog.name=@"xiaohei";
CZPerson *person = [[CZPersonalloc]init];
person.name=@"apple";
NSArray *array = [NSArrayarrayWithObjects:dog,person,@"a",nil];
// 判断是不是包含某个对象,调用这个对象上isEqual方法
BOOL isContain = [arrcontainsObject:dog2];
if (isContain) {
NSLog(@"包含!");
}
}
voidtestCreateArray()
{
// NSArray 的创建
// 简洁的构造方法
// nil 表示数组结束了,不要创建数组的中间加入nil
// NSArray *array = [NSArray arrayWithObjects:@"a",nil,@"b",@"c",nil];
CZDog *dog = [[CZDogalloc]init];
dog.name=@"xiaohei";
CZPerson *person = [[CZPersonalloc]init];
person.name=@"apple";
NSArray *array = [NSArrayarrayWithObjects:dog,person,@"a",nil];
NSLog(@"%@",array);
// 通过初始化方法
array = [[NSArrayalloc]initWithObjects:dog,person,@"a",nil];
array = [[NSArrayalloc]initWithObjects:dog,person,@"a",nil];
NSLog(@"%@",array);
// 通过字面量方法:常用
NSArray *arr =@[dog,person,@"abc"];
NSLog(@"%@",arr);
}
NSArray *arr =@[dog,person,@"abc"];
NSLog(@"%@",arr);
}
0 0
- Foundation框架基础 NSArray
- Foundation框架NSArray
- Foundation框架之NSArray
- Foundation框架中的NSArray
- Foundation框架中的NSArray
- Foundation框架之NSArray
- Foundation框架中的NSArray
- 黑马程序员-Foundation框架-NSArray
- Foundation框架 —— NSArray
- Foundation框架-02 NSArray
- 【黑马程序员】Foundation框架NSArray
- Cocoa Foundation 框架:NSArray数组的使用
- Foundation框架 - NSArray类 、NSMutableArray类
- foundation框架--NSArray类、数组常用操作
- 黑马程序员-Foundation框架之NSArray类
- 黑马程序员------Foundation框架NSString&NSArray
- Foundation框架--NSArray 的介绍和使用
- Foundation框架–NSArray 的遍历方法
- 越南盾
- 贪心--Gone Fishing
- Substring with Concatenation of All Words leetcode
- 浅析C++临时对象的产生相关问题
- GDAL入门篇(一) GDAL下载与安装
- Foundation框架基础 NSArray
- ASP分页显示Recordset数据
- PHP程序员面临的成长瓶颈
- PHP 6 即将发布 更强大的本地化及Web 2.0支持
- 让你的站跟新浪的新闻数据保持同步
- WordPress插件WordPress Related Posts修改成自动批量添加自定义
- 框架带给我们什么(浅谈PHP框架对PHP发展的影响)
- IIS7下面添加对PHP网页的支持
- 用PHP做常驻SHELL