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

相关文章

C++中assign函数的使用

《C++中assign函数的使用》在C++标准模板库中,std::list等容器都提供了assign成员函数,它比操作符更灵活,支持多种初始化方式,下面就来介绍一下assign的用法,具有一定的参考价... 目录​1.assign的基本功能​​语法​2. 具体用法示例​​​(1) 填充n个相同值​​(2)

MySql基本查询之表的增删查改+聚合函数案例详解

《MySql基本查询之表的增删查改+聚合函数案例详解》本文详解SQL的CURD操作INSERT用于数据插入(单行/多行及冲突处理),SELECT实现数据检索(列选择、条件过滤、排序分页),UPDATE... 目录一、Create1.1 单行数据 + 全列插入1.2 多行数据 + 指定列插入1.3 插入否则更

MySQL 迁移至 Doris 最佳实践方案(最新整理)

《MySQL迁移至Doris最佳实践方案(最新整理)》本文将深入剖析三种经过实践验证的MySQL迁移至Doris的最佳方案,涵盖全量迁移、增量同步、混合迁移以及基于CDC(ChangeData... 目录一、China编程JDBC Catalog 联邦查询方案(适合跨库实时查询)1. 方案概述2. 环境要求3.

SpringSecurity整合redission序列化问题小结(最新整理)

《SpringSecurity整合redission序列化问题小结(最新整理)》文章详解SpringSecurity整合Redisson时的序列化问题,指出需排除官方Jackson依赖,通过自定义反序... 目录1. 前言2. Redission配置2.1 RedissonProperties2.2 Red

PostgreSQL中rank()窗口函数实用指南与示例

《PostgreSQL中rank()窗口函数实用指南与示例》在数据分析和数据库管理中,经常需要对数据进行排名操作,PostgreSQL提供了强大的窗口函数rank(),可以方便地对结果集中的行进行排名... 目录一、rank()函数简介二、基础示例:部门内员工薪资排名示例数据排名查询三、高级应用示例1. 每

全面掌握 SQL 中的 DATEDIFF函数及用法最佳实践

《全面掌握SQL中的DATEDIFF函数及用法最佳实践》本文解析DATEDIFF在不同数据库中的差异,强调其边界计算原理,探讨应用场景及陷阱,推荐根据需求选择TIMESTAMPDIFF或inte... 目录1. 核心概念:DATEDIFF 究竟在计算什么?2. 主流数据库中的 DATEDIFF 实现2.1

MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

《MySQL多列IN查询之语法、性能与实战技巧(最新整理)》本文详解MySQL多列IN查询,对比传统OR写法,强调其简洁高效,适合批量匹配复合键,通过联合索引、分批次优化提升性能,兼容多种数据库... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析

MySQL中的LENGTH()函数用法详解与实例分析

《MySQL中的LENGTH()函数用法详解与实例分析》MySQLLENGTH()函数用于计算字符串的字节长度,区别于CHAR_LENGTH()的字符长度,适用于多字节字符集(如UTF-8)的数据验证... 目录1. LENGTH()函数的基本语法2. LENGTH()函数的返回值2.1 示例1:计算字符串

Javaee多线程之进程和线程之间的区别和联系(最新整理)

《Javaee多线程之进程和线程之间的区别和联系(最新整理)》进程是资源分配单位,线程是调度执行单位,共享资源更高效,创建线程五种方式:继承Thread、Runnable接口、匿名类、lambda,r... 目录进程和线程进程线程进程和线程的区别创建线程的五种写法继承Thread,重写run实现Runnab

MySQL 中的 CAST 函数详解及常见用法

《MySQL中的CAST函数详解及常见用法》CAST函数是MySQL中用于数据类型转换的重要函数,它允许你将一个值从一种数据类型转换为另一种数据类型,本文给大家介绍MySQL中的CAST... 目录mysql 中的 CAST 函数详解一、基本语法二、支持的数据类型三、常见用法示例1. 字符串转数字2. 数字