iOS-OC-基础-NSArray常用方法
NSArray常用方法和属性
//    ——————————————————————数组常用方法——————————————————————
    // 1、计算数组元素的个数: count
    NSArray *arr1 = @[@"",@"",@""];
    NSUInteger cout = [arr1 count];
    NSLog(@"cout = %ld",cout);
    // 2、objectAtIndex:取得对应下标的元素
    // 方式一:
    id obj = [arr1 objectAtIndex:];
    NSLog(@"obj:%@",obj);
    // 方式二:
    id obj1 = arr1[];
    NSLog(@"obj1:%@",obj1);
    // 3、containsObject 判断数组是否存在某个对象
    BOOL result = [arr1 containsObject:@""];
    if (result) {
        NSLog(@"数组存在这个对象");
    }
    // 4、indexOfObject :取得对象所在数组的下标位置
    NSUInteger index = [arr1 indexOfObject:@"ww"];
    NSLog(@"index = %ld",index);
    // 5、取得数组的最后一个元素
    id obj2 = [arr1 lastObject]; //取得数组的最后一个元素
    NSLog(@"obj2:%@",obj2);
    id obj3 = [arr1 firstObject];// 取得数组的第一个元素
    NSLog(@"obj3:%@",obj3);
    // 6、以某个字符串的截取原来字符串,实质就是删掉这“某个”字符串:componentsSeparatedByString,返回一个数组
    NSString *s1 = @"44*55*66";
    NSArray *arr2 = [s1 componentsSeparatedByString:@"*"];
    NSLog(@"arr6:%@",arr2);
    // 7、将数组中元素用某个字符串拼接起来:componentsJoinedByString,返回一个字符串类型
    NSString *newString = [arr2 componentsJoinedByString:@","];
    NSLog(@"newString :%@",newString);
    /*===============NSMutableArray(可改变数组)===================*/
    //——————————————————————可变数组的常用方法———————————————————————————
    NSMutableArray *mArr = [[NSMutableArray alloc] initWithObjects:@"",@"",@"",@"" ,nil];
    // 1、数组添加元素
    // 给数组添加元素:addObject
    [mArr addObject:@"aa"];
    NSLog(@"mArr :%@",mArr);
    // 添加某个数组里的元素:addObjectsFromArray
    [mArr addObjectsFromArray:mArr];
    NSLog(@"mArr:%@",mArr);
    // 2、数组插入元素 :
    // insertObject 数组插入某个元素到指定位置
    [mArr insertObject:@"bb" atIndex:];
    NSLog(@"mArr:%@",mArr);
    // 3、replaceObjectAtIndex 用新元素替换某个位置的元素
    [mArr replaceObjectAtIndex: withObject:@"xx"];
    NSLog(@"mArr:%@",mArr);
    // 4、exchangeObjectAtIndex 交换两个元素的位置
    [mArr exchangeObjectAtIndex: withObjectAtIndex:];
    NSLog(@"mArr:%@",mArr);
    // 5、数组元素删除
    // 删除指定范围的元素:removeObjectsInRange
    NSRange rang = {,};
    [mArr removeObjectsInRange:rang];
    NSLog(@"mArr:%@",mArr);
    // 删掉指定的所有元素:removeObject
    [mArr removeObject:@""];
    NSLog(@"mArr:%@",mArr);
    // 删除指定位置的元素:removeObjectAtIndex
    [mArr removeObjectAtIndex:];
    NSLog(@"mArr:%@",mArr);
    // 删除最后一个元素:removeLastObject
    [mArr removeLastObject];
    NSLog(@"mArr:%@",mArr);
    // 删除数组的所有元素,数组没有删除:removeAllObjects
    [mArr removeAllObjects];
    NSLog(@"mArr:%@",mArr);
    /*====================================数组的遍历==================================*/
    // 1、普通遍历
    NSArray *array = @[@"",@"",@"",@""];
    for (int i = ; i < array.count; i++) {
        NSString *string = [array objectAtIndex:i];
        //            NSString *str = array[i];
        NSLog(@"第%d个:%@",i,string);
    }
    // 2、快速遍历
    for (id string in array) {  // for int
        NSLog(@" %@",string);
    }
    // 3、block 遍历
    [array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
        NSLog(@"第%ld个:%@",idx,obj);
    }];
    
本文GitHub地址:https://github.com/zhangkiwi/iOS_SN_NSArray
iOS-OC-基础-NSArray常用方法的更多相关文章
- iOS 阶段学习第11天笔记(OC基础知识)
		iOS学习(OC语言)知识点整理 一.OC基础知识 1)#import 用于导入头文件,预处理阶段加载引用,只加载一次. 2)OC 依赖于Foundation框架下的头文件Foundation.h, ... 
- iOS开发OC基础:Xcode中常见英文总结,OC常见英文错误
		在开发的过程中难免会遇到很多的错误,可是当看到系统给出的英文时,又不知道是什么意思.所以这篇文章总结了Xcode中常见的一些英文单词及词组,可以帮助初学的人快速了解给出的提示.多练习,就肯定能基本掌握 ... 
- OC基础笔记目录
		OC基础(1) Objective-C简介 OC和C对比 第一个OC程序 面向对象思想 OC基础(2) 类与对象 类的设计 第一个OC类 对象方法的声明和实现 类方法的声明和实现 OC基础(3) 对象 ... 
- ios+oc面试题
		ios+oc面试题 浅复制和深复制的区别?//浅拷贝和深拷贝答案:浅层复制(copy):只复制指向对象的指针,而不复制引用对象本身.//通过对象的指针来访问这个对象深层复制(mutableCo ... 
- OC基础16:复制对象
		"OC基础"这个分类的文章是我在自学Stephen G.Kochan的<Objective-C程序设计第6版>过程中的笔记. 1.浅复制即是指针赋值,复制对象的修改会影 ... 
- OC基础--数据类型与表达式
		前言 做iOS开发有3年了,从当初的小白到现在,断断续续看过很多资料,之前也写过一些博文来记录,但是感觉知识点都比较凌乱.所以最近准备抽时间把iOS开发的相关知识进行一个梳理,主要分为OC基础.UI控 ... 
- OC基础--字符串
		前言 做iOS开发有3年了,从当初的小白到现在,断断续续看过很多资料,之前也写过一些博文来记录,但是感觉知识点都比较凌乱.所以最近准备抽时间把iOS开发的相关知识进行一个梳理,主要分为OC基础.UI控 ... 
- IOS开发基础知识碎片-导航
		1:IOS开发基础知识--碎片1 a:NSString与NSInteger的互换 b:Objective-c中集合里面不能存放基础类型,比如int string float等,只能把它们转化成对象才可 ... 
- iOS - OC 面向对象语法
		1.类 1)根类:因为类 NSObject 是层次结构的最顶层,因此称为根类. 可以将类称为子类(subclass)和父类(superclass),也可以将类称为子类和超类. 2)分类/类别(cate ... 
- iOS 面试基础题目
		转载: iOS 面试基础题目 题目来自博客:面试百度的记录,有些问题我能回答一下,不能回答的或有更好的回答我放个相关链接供参考. 1面 Objective C runtime library:Obje ... 
随机推荐
- 使用yii2实现读写分离(MySQL主从数据库)
			读写分离(Read/Write Splitting). 1.原理:让主数据库(master)处理事务性增.改.删操作(INSERT.UPDATE.DELETE),而从数据库(slave)处理SELEC ... 
- Flume Channel
			http://blog.csdn.net/john_f_lau/article/details/20913831 http://dev.cmcm.com/archives/194 
- 向着DJANGO奔跑!
			这个项目明天上半年要弄好,就牛X了哈哈. 平台化运维.PYTHON,SVN,SALTSTACK,.....一锅端~~:) from django.contrib import admin # Regi ... 
- 《Programming WPF》翻译 第5章 4.元素类型样式
			原文:<Programming WPF>翻译 第5章 4.元素类型样式 命名样式非常有用,当你得到一组属性并应用到特点的元素上.然而,如果你想要应用一个统一的样式到所有确定元素类型的实例, ... 
- VS代码生成工具ReSharper使用手册:配置快捷键
			原文 http://www.cnblogs.com/PHPIDE/archive/2013/05/16/3081783.html VS代码生成工具ReSharper提供了丰富的快捷键,可以极大地提高你 ... 
- UltraChart画柱状图上面显示数值
			http://www.cnblogs.com/kevin-h-wang/archive/2013/06/05/UltraChart.html 1.柱状图上显示数值 ? //第一种方法 this.Ult ... 
- jquery使用总结
			jquery使用总结-常用DOM操作 (1)查询或设置元素属性操作 html() //获取匹配元素集合中的第1个元素 html(htmlString) //为匹配集合中的所有元素设置内容 tex ... 
- 在Visual Studio Express 2013中开发自定义控件
			在专业版本中,新建项目时有"Windows Control Library"这样一个类型可以用于新建自定义控件项目. 但是Express版本中,没有这样一个类型可供选择.这里有另外 ... 
- 《Java程序员面试笔试宝典》之switch使用时有哪些注意事项
			switch语句用于多分支选择,在使用switch(expr)的时候,expr只能是一个枚举常量(内部也是由整型或字符类型实现)或一个整数表达式,其中整数表达式可以是基本类型int或其对应的包装类In ... 
- 程序员求职之道(《程序员面试笔试宝典》)之看着别人手拿大把的offer,不淡定了怎么办?
			不管是在哪里,不管发生什么事,不要随便放下自己. --<当男人恋爱时> 很多求职者都会面临一个问题:别人手拿大把大把的offer了,而自己却是两手空空,别人签约之后已经过着"猪狗 ... 
