NSArray 函数整理

2024-04-21 12:58
文章标签 函数 整理 nsarray

本文主要是介绍NSArray 函数整理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    /*******************************************************************************************NSArray*******************************************************************************************//*---------------------------创建数组------------------------------*///NSArray *array = [NSArray alloc] initWithObjects:@"One",@"Two",@"Three",@"Four",nil];self.dataArray = array;[array release];//- (unsigned) Count;数组所包含对象个数;NSLog(@"self.dataArray cound:%d",[self.dataArray count]);//- (id) objectAtIndex: (unsigned int) index;获取指定索引处的对象;NSLog(@"self.dataArray cound 2:%@",[self.dataArray objectAtIndex:2]);/*--------------------------从一个数组拷贝数据到另一数组(可变数级)----------------------------*/    //arrayWithArray://NSArray *array1 = [NSArray alloc] init];NSMutableArray *MutableArray = [NSMutableArray alloc] init];NSArray *array = [NSArray arrayWithObjects:@"a",@"b",@"c",nil];NSLog(@"array:%@",array);MutableArray = [NSMutableArray arrayWithArray:array];NSLog(@"MutableArray:%@",MutableArray);array1 = [NSArray arrayWithArray:array];NSLog(@"array1:%@",array1);//Copy//id obj;NSMutableArray *newArray = [NSMutableArray alloc] init];NSArray *oldArray = [NSArray arrayWithObjects:@"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",nil];NSLog(@"oldArray:%@",oldArray);for(int i = 0; i < [oldArray count]; i++){        obj = [oldArray objectAtIndex:i] copy];[newArray addObject: obj];}//     NSLog(@"newArray:%@", newArray);[newArray release];//快速枚举//NSMutableArray *newArray = [NSMutableArray alloc] init];NSArray *oldArray = [NSArray arrayWithObjects:@"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",nil];    NSLog(@"oldArray:%@",oldArray);for(id obj in oldArray){[newArray addObject: obj];}//     NSLog(@"newArray:%@", newArray);[newArray release];    //Deep copy//NSMutableArray *newArray = [NSMutableArray alloc] init];NSArray *oldArray = [NSArray arrayWithObjects:@"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",nil];    NSLog(@"oldArray:%@",oldArray);    newArray = (NSMutableArray*)CFPropertyListCreateDeepCopy(kCFAllocatorDefault, (CFPropertyListRef)oldArray, kCFPropertyListMutableContainers);NSLog(@"newArray:%@", newArray);[newArray release];    //Copy and sort//NSMutableArray *newArray = [NSMutableArray alloc] init];NSArray *oldArray = [NSArray arrayWithObjects:@"b",@"a",@"e",@"d",@"c",@"f",@"h",@"g",nil];    NSLog(@"oldArray:%@",oldArray);NSEnumerator *enumerator;enumerator = [oldArray objectEnumerator];id obj;while(obj = [enumerator nextObject]){[newArray addObject: obj];}[newArray sortUsingSelector:@selector(compare:)];NSLog(@"newArray:%@", newArray);[newArray release];/*---------------------------切分数组------------------------------*///从字符串分割到数组- componentsSeparatedByString:NSString *string = [NSString alloc] initWithString:@"One,Two,Three,Four"];NSLog(@"string:%@",string);    NSArray *array = [string componentsSeparatedByString:@","];NSLog(@"array:%@",array);[string release];//从数组合并元素到字符串- componentsJoinedByString:NSArray *array = [NSArray alloc] initWithObjects:@"One",@"Two",@"Three",@"Four",nil];NSString *string = [array componentsJoinedByString:@","];NSLog(@"string:%@",string);/*******************************************************************************************NSMutableArray*******************************************************************************************//*---------------给数组分配容量----------------*///NSArray *array;array = [NSMutableArray arrayWithCapacity:20];/*--------------在数组末尾添加对象----------------*///- (void) addObject: (id) anObject;//NSMutableArray *array = [NSMutableArray arrayWithObjects:@"One",@"Two",@"Three",nil];[array addObject:@"Four"];NSLog(@"array:%@",array);/*--------------删除数组中指定索引处对象----------------*/    //-(void) removeObjectAtIndex: (unsigned) index;    //NSMutableArray *array = [NSMutableArray arrayWithObjects:@"One",@"Two",@"Three",nil];[array removeObjectAtIndex:1];NSLog(@"array:%@",array);/*-------------数组枚举---------------*/    //- (NSEnumerator *)objectEnumerator;从前向后//NSMutableArray *array = [NSMutableArray arrayWithObjects:@"One",@"Two",@"Three",nil];NSEnumerator *enumerator;enumerator = [array objectEnumerator];id thingie;while (thingie = [enumerator nextObject]) {NSLog(@"thingie:%@",thingie);}//- (NSEnumerator *)reverseObjectEnumerator;从后向前//NSMutableArray *array = [NSMutableArray arrayWithObjects:@"One",@"Two",@"Three",nil];NSEnumerator *enumerator;enumerator = [array reverseObjectEnumerator];id object;while (object = [enumerator nextObject]) {NSLog(@"object:%@",object);}//快速枚举//NSMutableArray *array = [NSMutableArray arrayWithObjects:@"One",@"Two",@"Three",nil];for(NSString *string in array){NSLog(@"string:%@",string);}/*******************************************************************************************NSDictionary*******************************************************************************************//*------------------------------------创建字典------------------------------------*///- (id) initWithObjectsAndKeys;//NSDictionary *dictionary = [NSDictionary alloc] initWithObjectsAndKeys:@"One",@"1",@"Two",@"2",@"Three",@"3",nil];NSString *string = [dictionary objectForKey:@"One"];NSLog(@"string:%@",string);NSLog(@"dictionary:%@",dictionary);[dictionary release];/*******************************************************************************************NSMutableDictionary*******************************************************************************************//*------------------------------------创建可变字典------------------------------------*/    //创建NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];//添加字典[dictionary setObject:@"One" forKey:@"1"];[dictionary setObject:@"Two" forKey:@"2"];[dictionary setObject:@"Three" forKey:@"3"];[dictionary setObject:@"Four" forKey:@"4"];NSLog(@"dictionary:%@",dictionary);//删除指定的字典[dictionary removeObjectForKey:@"3"];NSLog(@"dictionary:%@",dictionary);/*******************************************************************************************NSValue(对任何对象进行包装)*******************************************************************************************//*--------------------------------将NSRect放入NSArray中------------------------------------*/    //将NSRect放入NSArray中NSMutableArray *array = [NSMutableArray alloc] init];NSValue *value;CGRect rect = CGRectMake(0, 0, 320, 480);    value = [NSValue valueWithBytes:&rect objCType:@encode(CGRect)];[array addObject:value];NSLog(@"array:%@",array);//从Array中提取value = [array objectAtIndex:0];[value getValue:&rect];NSLog(@"value:%@",value);/*******************************************************************************************从目录搜索扩展名为jpg的文件*******************************************************************************************///NSFileManager *fileManager = [NSFileManager defaultManager];NSString *home;home = @"../Users/";NSDirectoryEnumerator *direnum;direnum = [fileManager enumeratorAtPath: home];NSMutableArray *files = [NSMutableArray alloc] init];//枚举NSString *filename;while (filename = [direnum nextObject]) {if([filename pathExtension] hasSuffix:@"jpg"]){[files addObject:filename];}}//快速枚举//for(NSString *filename in direnum)//{//    if([filename pathExtension] isEqualToString:@"jpg"]){//        [files addObject:filename];//    }//}NSLog(@"files:%@",files);//枚举NSEnumerator *filenum;filenum = [files objectEnumerator];while (filename = [filenum nextObject]) {NSLog(@"filename:%@",filename);}//快速枚举//for(id object in files)//{//    NSLog(@"object:%@",object);//} 

这篇关于NSArray 函数整理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/923139

相关文章

Kotlin 作用域函数apply、let、run、with、also使用指南

《Kotlin作用域函数apply、let、run、with、also使用指南》在Kotlin开发中,作用域函数(ScopeFunctions)是一组能让代码更简洁、更函数式的高阶函数,本文将... 目录一、引言:为什么需要作用域函数?二、作用域函China编程数详解1. apply:对象配置的 “流式构建器”最

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

Mysql中深分页的五种常用方法整理

《Mysql中深分页的五种常用方法整理》在数据量非常大的情况下,深分页查询则变得很常见,这篇文章为大家整理了5个常用的方法,文中的示例代码讲解详细,大家可以根据自己的需求进行选择... 目录方案一:延迟关联 (Deferred Join)方案二:有序唯一键分页 (Cursor-based Paginatio

C++中::SHCreateDirectoryEx函数使用方法

《C++中::SHCreateDirectoryEx函数使用方法》::SHCreateDirectoryEx用于创建多级目录,类似于mkdir-p命令,本文主要介绍了C++中::SHCreateDir... 目录1. 函数原型与依赖项2. 基本使用示例示例 1:创建单层目录示例 2:创建多级目录3. 关键注

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

kotlin的函数forEach示例详解

《kotlin的函数forEach示例详解》在Kotlin中,forEach是一个高阶函数,用于遍历集合中的每个元素并对其执行指定的操作,它的核心特点是简洁、函数式,适用于需要遍历集合且无需返回值的场... 目录一、基本用法1️⃣ 遍历集合2️⃣ 遍历数组3️⃣ 遍历 Map二、与 for 循环的区别三、高

C语言字符函数和字符串函数示例详解

《C语言字符函数和字符串函数示例详解》本文详细介绍了C语言中字符分类函数、字符转换函数及字符串操作函数的使用方法,并通过示例代码展示了如何实现这些功能,通过这些内容,读者可以深入理解并掌握C语言中的字... 目录一、字符分类函数二、字符转换函数三、strlen的使用和模拟实现3.1strlen函数3.2st

MySQL中COALESCE函数示例详解

《MySQL中COALESCE函数示例详解》COALESCE是一个功能强大且常用的SQL函数,主要用来处理NULL值和实现灵活的值选择策略,能够使查询逻辑更清晰、简洁,:本文主要介绍MySQL中C... 目录语法示例1. 替换 NULL 值2. 用于字段默认值3. 多列优先级4. 结合聚合函数注意事项总结C

Mysql中InnoDB与MyISAM索引差异详解(最新整理)

《Mysql中InnoDB与MyISAM索引差异详解(最新整理)》InnoDB和MyISAM在索引实现和特性上有差异,包括聚集索引、非聚集索引、事务支持、并发控制、覆盖索引、主键约束、外键支持和物理存... 目录1. 索引类型与数据存储方式InnoDBMyISAM2. 事务与并发控制InnoDBMyISAM

StarRocks索引详解(最新整理)

《StarRocks索引详解(最新整理)》StarRocks支持多种索引类型,包括主键索引、前缀索引、Bitmap索引和Bloomfilter索引,这些索引类型适用于不同场景,如唯一性约束、减少索引空... 目录1. 主键索引(Primary Key Index)2. 前缀索引(Prefix Index /