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常用方法的更多相关文章

  1. iOS 阶段学习第11天笔记(OC基础知识)

    iOS学习(OC语言)知识点整理 一.OC基础知识 1)#import  用于导入头文件,预处理阶段加载引用,只加载一次. 2)OC 依赖于Foundation框架下的头文件Foundation.h, ...

  2. iOS开发OC基础:Xcode中常见英文总结,OC常见英文错误

    在开发的过程中难免会遇到很多的错误,可是当看到系统给出的英文时,又不知道是什么意思.所以这篇文章总结了Xcode中常见的一些英文单词及词组,可以帮助初学的人快速了解给出的提示.多练习,就肯定能基本掌握 ...

  3. OC基础笔记目录

    OC基础(1) Objective-C简介 OC和C对比 第一个OC程序 面向对象思想 OC基础(2) 类与对象 类的设计 第一个OC类 对象方法的声明和实现 类方法的声明和实现 OC基础(3) 对象 ...

  4. ios+oc面试题

    ios+oc面试题     浅复制和深复制的区别?//浅拷贝和深拷贝答案:浅层复制(copy):只复制指向对象的指针,而不复制引用对象本身.//通过对象的指针来访问这个对象深层复制(mutableCo ...

  5. OC基础16:复制对象

    "OC基础"这个分类的文章是我在自学Stephen G.Kochan的<Objective-C程序设计第6版>过程中的笔记. 1.浅复制即是指针赋值,复制对象的修改会影 ...

  6. OC基础--数据类型与表达式

    前言 做iOS开发有3年了,从当初的小白到现在,断断续续看过很多资料,之前也写过一些博文来记录,但是感觉知识点都比较凌乱.所以最近准备抽时间把iOS开发的相关知识进行一个梳理,主要分为OC基础.UI控 ...

  7. OC基础--字符串

    前言 做iOS开发有3年了,从当初的小白到现在,断断续续看过很多资料,之前也写过一些博文来记录,但是感觉知识点都比较凌乱.所以最近准备抽时间把iOS开发的相关知识进行一个梳理,主要分为OC基础.UI控 ...

  8. IOS开发基础知识碎片-导航

    1:IOS开发基础知识--碎片1 a:NSString与NSInteger的互换 b:Objective-c中集合里面不能存放基础类型,比如int string float等,只能把它们转化成对象才可 ...

  9. iOS - OC 面向对象语法

    1.类 1)根类:因为类 NSObject 是层次结构的最顶层,因此称为根类. 可以将类称为子类(subclass)和父类(superclass),也可以将类称为子类和超类. 2)分类/类别(cate ...

  10. iOS 面试基础题目

    转载: iOS 面试基础题目 题目来自博客:面试百度的记录,有些问题我能回答一下,不能回答的或有更好的回答我放个相关链接供参考. 1面 Objective C runtime library:Obje ...

随机推荐

  1. ComboBox绑定数据源时触发SelectedIndexChanged事件的处理办法

    转载:http://blog.sina.com.cn/s/blog_629e606f01014d4b.html ComboBox最经常使用的事件就是SelectedIndexChanged.但在将Co ...

  2. OpenGL ES 2.0 混合

    混合技术 混合技术就是将俩个片元调和,主要用于将通过各项测试准备进入帧缓冲的片元(源片元)与原有片元按照设定的比例加权计算出最终片元的颜色值. OpenGL ES 2.0中是通过设置混合因子来指定两个 ...

  3. tiny xml 使用总结

    这几天在埋头写自己的3D文件浏览器(稍后发布),突发奇想的要把自己的内部格式转化成XML,于是,把以前在研究所时用过的ExPat翻了出来.ExPat是基于事件的XML解释器,速度挺快的,但结构方面有点 ...

  4. Hadoop基本原理之一:MapReduce

    1.为什么需要Hadoop 目前,一块硬盘容量约为1TB,读取速度约为100M/S,因此完成一块硬盘的读取需时约2.5小时(写入时间更长).若把数据放在同一硬盘上,且全部数据均需要同一个程序进行处理, ...

  5. canvas元素大小与绘图表面大小

    原文链接:canvas总结:元素大小与绘图表面大小 前言 我们使用canvas的时候一般在canvas元素中直接设置它的width和height: 1 <canvas id="myCa ...

  6. CentOS和Ubuntu的区别

    CentOS(Community ENTerprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代 ...

  7. iOS基本的发短信和打电话调用

    电话.短信是手机的基础功能,iOS中提供了接口,让我们调用.这篇文章简单的介绍一下iOS的打电话.发短信在程序中怎么调用. 1.打电话 [[UIApplication sharedApplicatio ...

  8. MyEclipse8.5自动生成注册码

    package com; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamRe ...

  9. Linux下使用VirtualBox安装Windows系统

    (文档比较长,只是写的详细,实际操作起来相对简单.) 由于一些特殊原因,我们并不能完全抛下Windows而使用Linux.VirtualBox 是一款虚拟机软件,支持多系统.在Linux下安装 Vir ...

  10. filter 以及 orderBy的使用

    filter用于关键字过滤操作,orderBy用于排序操作,运行界面如下: 点击标题Name与Email实现排序功能,输入框中输入关键字进行过滤,同时实现根据关键字进行过滤后进行排序操作: ng-re ...