NSArray 所有基础点示例

#import <Foundation/Foundation.h>

//排序算法,应用于 NSArray *arr=[arrs1 sortedArrayUsingFunction:sortByID context:nil];排序

NSInteger sortByID(id obj1, id obj2, void *context){

NSString *str1 =(NSString*) obj1;

NSString *str2 =(NSString *) obj2;

if (str1.length < str2.length) {

return NSOrderedDescending;

}

else if(str1.length == str2.length)

{

return NSOrderedSame;

}

return NSOrderedAscending;

}

int main(int argc, const char * argv[]) {

@autoreleasepool {

//数组只能存储oc对象,NSArray一旦创建不能修改

NSArray *[email protected][@"123",@"456",@"789"];

//初始化数组的一种奇葩

NSArray *arrs1=[NSArray arrayWithArray:arrs0];

//1.获取数组中的元素对象

id need=[arrs1 objectAtIndex:1];//取出索引位置中的对象

id nn=[arrs1 objectAtIndexedSubscript:1];

NSLog(@"need=%@",need);

//2.元素个数

int t=[arrs1 count];

//3.判断是否包含

bool isYes=[arrs1 containsObject:@"123"];

//4.取得数组中第一个和最后一个元素

need= [arrs1 firstObject];

need=[arrs1 lastObject];

//5.添加元素,返回另一个数组

arrs0=[arrs1 arrayByAddingObject:@"000"];

//6.合并两个数组

arrs0=[arrs1 arrayByAddingObjectsFromArray:arrs1];

NSLog(@"%@",arrs0);

//7.取得数组一定范围内的数据

arrs0=[arrs1 subarrayWithRange:NSMakeRange(1, 1)];

NSLog(@"%ld",[arrs0 count]);

//8.判断是否相等

isYes=[arrs0 isEqualToArray:arrs1];

//9.返回元素的位置

int tt=[arrs0 indexOfObject:@"123"];

NSLog(@"%d",tt);

tt=[arrs0 indexOfObjectIdenticalTo:@"123"];

//10.数组与字符串的转换

NSString *sss=[arrs1 componentsJoinedByString:@"-"];

//11.字符串与数组转换

NSArray *array=[sss componentsSeparatedByString:@"-"];

NSLog(@"%@",sss);

NSLog(@"%@",array);

//sortedArrayHint:不知道怎么用的

//int num=[array sortedArrayHint];

//NSLog(@"%ld",num);

//12.写入文件,写入url

[arrs1 writeToFile:@"/users/tang/desktop/array.plist" atomically:YES];

NSArray *arrfile=[NSArray arrayWithContentsOfFile:@"/users/tang/desktop/array.plist"];

NSLog(@"%@",arrfile);

//13.数组的遍历 还有两种

[arrs1 enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {

NSLog(@"%d,%@",idx,obj);

if(idx==1)

{

*stop=YES;

}

}];

//14.正向遍历

NSEnumerator *dfd=[arrs1 objectEnumerator];

for (id dd in dfd) {

NSLog(@"%@",dd);

}

//15.反向遍历

dfd=[arrs1 reverseObjectEnumerator];

for (id dd in dfd) {

NSLog(@"%@",dd);

}

//16用自己写的函数实现数组的排序

NSArray *arr=[arrs1 sortedArrayUsingFunction:sortByID context:nil];

// NSLog(@"%ld",NSNotFound);

}

return 0;

}

时间: 2024-10-24 06:58:57

NSArray 所有基础点示例的相关文章

【IOS 开发】Objective-C Foundation 框架 -- 字符串 | 日期 | 对象复制 | NSArray | NSSet | NSDictionary | 谓词

一. 字符串 API 1. NSString 用法简介 (1) NSString API 介绍 NSString 功能 : -- 创建字符串 : 使用 init 开头的实例方法, 也可以使用 String 开头的方法; // init 开头方法创建字符串 unichar data[5] = {97, 98, 99, 100, 101}; NSString * str = [[NSString alloc] initWithCharacters : data length : 5]; // str

iOS中几种数据持久化方案

概论 所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据.在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方案: plist文件(属性列表) preference(偏好设置) NSKeyedArchiver(归档) SQLite 3 CoreData 沙盒 在介绍各种存储方法之前,有必要说明以下沙盒机制.iOS程序默认情况下只能访问程序自己的目录,这个目录被称为"沙盒". 1.结构 既然沙盒就是一个文件夹,那就看看里面有什么吧

数据储存

概论 所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据.在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方案: plist文件(属性列表) preference(偏好设置) NSKeyedArchiver(归档) SQLite 3 CoreData 沙盒 在介绍各种存储方法之前,有必要说明以下沙盒机制.iOS程序默认情况下只能访问程序自己的目录,这个目录被称为"沙盒". 1.结构 既然沙盒就是一个文件夹,那就看看里面有什么吧

iOS-----JSON解析

JSON解析 JSON是一种广泛使用的数据交换格式,JSON同样具有跨平台.跨语言的优势,而且使用JSON作为数据交换格式时数据传输量更小. JSON的基本知识 JSON的全称是JavaScript Object Notation,即JavaScript 对象符号,它是一种轻量级的数据交换格式.JSON数据格式既适合人进行读/写,也适合计算机本身解析和生成. JSON主要有如下两种数据结构 由key-value对组成的数据结构,在不同的语言中有不同的实现.例如,在JavaScript中是一个对象

iOS中几种数据持久化方案总结

概论 所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据.在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方案: plist文件(属性列表) preference(偏好设置) NSKeyedArchiver(归档) SQLite 3 CoreData 沙盒 在介绍各种存储方法之前,有必要说明以下沙盒机制.iOS程序默认情况下只能访问程序自己的目录,这个目录被称为"沙盒". 1.结构 既然沙盒就是一个文件夹,那就看看里面有什么吧

[IOS]数据永久化

数据存储 本文介绍了在IOS中常见的几种保存数据的方式,以及相关的实现方法(基于swift). 思维导图: 应用程序沙盒 每个IOS程序有一套自己独立的文件系统,其路径以 / 开始, 这个文件系统成为应用程序沙盒.每个应用程序只能在自己的沙盒内部读写文件,基本不可以去访问外部文件.所有的操作都要进行权限检测. 沙盒是一种安全机制,其核心是对IOS应用的操作进行权限检测. 为什幺要用沙盒? 防止应用被其他应用恶意修改.访问和删除. 防止其他软件访问你的个人数据. 能够很干净地清楚数据. overr

数据持久化存储

概论 所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据.在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方案: plist文件(属性列表) preference(偏好设置) NSKeyedArchiver(归档) SQLite 3 CoreData 沙盒 在介绍各种存储方法之前,有必要说明以下沙盒机制.iOS程序默认情况下只能访问程序自己的目录,这个目录被称为“沙盒”. 1.结构 既然沙盒就是一个文件夹,那就看看里面有什么吧.沙盒的目

几种常用的本地话存储方式

概论 所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据.在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方案: plist文件(属性列表) preference(偏好设置) NSKeyedArchiver(归档) SQLite 3 CoreData 沙盒 在介绍各种存储方法之前,有必要说明以下沙盒机制.iOS程序默认情况下只能访问程序自己的目录,这个目录被称为"沙盒". 1.结构 既然沙盒就是一个文件夹,那就看看里面有什么吧

iOS中几种数据持久化方案:我要永远地记住你!

作者:@翁呀伟呀 概论 所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据.在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方案: plist文件(属性列表) preference(偏好设置) NSKeyedArchiver(归档) SQLite 3 CoreData 沙盒 在介绍各种存储方法之前,有必要说明以下沙盒机制.iOS程序默认情况下只能访问程序自己的目录,这个目录被称为“沙盒”. 1.结构 既然沙盒就是一个文件夹,那就看看里面