#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 *arrs0=@[@"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;

}

转载于:https://www.cnblogs.com/tangranyang/p/4483031.html

NSArray 所有基础点示例相关推荐

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

    一. 字符串 API 1. NSString 用法简介 (1) NSString API 介绍 NSString 功能 : -- 创建字符串 : 使用 init 开头的实例方法, 也可以使用 Stri ...

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

    概论 所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据.在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方案: plist文件(属性列表) ...

  3. c语言OBJECT数组,Objective-C中NSArray的基本用法示例

    NSArray的排序 + (id)studentWithFirstName:(NSString *)firstName lastName:(NSString *)lastName{ Student * ...

  4. c libxml2解析html,简单的libxml2 HTML解析示例,使用Objective-c,Xcode和HTMLparser.h

    请有人向我显示一个使用libxml解析一些 HTML的简单示例. #import NSString *html = @" " " " " " ...

  5. 线性代数之行列式基础点

                                          线性代数之行列式基础点 顺序和逆序 如果我们定义一个排列的每个元素从左到右按照递增的顺序的摆放的,就称这样的排列是顺序的.比 ...

  6. TextKit简单示例

    TextKit简单示例 效果 源码 https://github.com/YouXianMing/Animations // // TextKitLoadImageController.m // An ...

  7. iOS:实现邮件和短信发送的简单示例

    发送邮件1.导入库文件:MessageUI.framework 2.引入头文件 3.实现代理<MFMailComposeViewControllerDelegate> 和 <UINa ...

  8. nsarray数组越界_NSArray,NSMutableArray –目标C数组

    nsarray数组越界 NSArray and NSMutableArray are the Objective C array objects. In this tutorial we'll dis ...

  9. 收集各种 iOS App 开发可以用到的代码示例

    code4app.com 这网站不错,收集各种 iOS App 开发可以用到的代码示例  cocoacontrols.com/ 英文版本的lib收集  objclibs.com/ 精品lib的收集网站 ...

最新文章

  1. 某面试官吐槽:面试某大龄程序员,问HTTPS的加密过程,对方却答不出来!网友:这个问题毫无意义!...
  2. 数据库事务的ACID特性及含义
  3. [转] 数学符号英文拼写及发音
  4. linux开发常用脚本,记录自己常用的一些 Linux Shell 脚本
  5. Linux什么是文件IO,linux中文件IO
  6. java 字符串解析
  7. pytorch torch.detach函数(返回一个新的`Variable`,从当前图中分离下来的)
  8. Mybatis 源码探究 (4) 将sql 语句中的#{id} 替换成 ‘?
  9. 利用JS实现简单的瀑布流效果
  10. Spring5 版本新特性简述
  11. linux调度全景指南
  12. android 引入 .so,android studio引入so库方法(示例代码)
  13. [NOIP2021] 数列(计数dp)
  14. 关于双网卡电脑无法加入域或失去与域的联系的方法
  15. [ Python - 6 ] 正则表达式实现计算器功能
  16. qt 获取屏幕分辨率
  17. PHP TP模板下的微博登录(wap)
  18. UE5 C++ Rider 编程指南 1.编辑器基础
  19. 前端代码动态生成 审批流程图、流程图
  20. 博观约取 和实生物----张铜彦先生的魏碑情结

热门文章

  1. setuptools Command Reference
  2. 机器学习实战(MachineLearinginAction) 第一章
  3. 如何去除计算机的访问限制,访问限制达成,教你如何禁止别人访问你电脑的C盘...
  4. java怎么对作者名排序_Java 对象排序详解
  5. python list方法说明_对python中list的五种查找方法说明
  6. vSAN其实很简单-运维工程师眼里的vSAN
  7. VMware NSX组件构建矩阵
  8. Spring Boot学习总结(28)—— springboot连接postgresql 指定模式Schema
  9. Linux学习总结(46)——Centos7.4设置开机自动登陆及网卡自动启用
  10. Web应用的负载均衡、集群、高可用(HA)解决方案整理总结