oc 笔记--NSArray

NSArray说明

-oc中枚举就是遍历的意思,区别c语言中的枚举

-Foundation中的数组(NSArray,NSMutableArray)是一组有序的对象集合

-数组只能存储对象(类的实例)

NSArray使用

-通过下标获取到数组中的各个元素

-与字符串相同,数组分为可变和不可变数组

NSArray注意

-数组中不可以存放基本数据类型,只能存放类的实例(对象)

-如若需要将基本数据类型/结构体放入数组中,需要通过NSNumber  NSValue进行“封装”

NSArray实例

创建不可变数组

 1 // 创建不可变数组
 2         //快速创建数组
 3         NSArray *[email protected][@"mon",@"tue",@"wed"];
 4         //创建空数组
 5         NSArray *array=[[NSArray alloc]init];
 6         NSArray *array1=[NSArray array];
 7         /*使用实例方法创建数组  注意数组结尾必须有nil(空)进行结束  不可删除*/
 8         NSArray *arr1=[[NSArray alloc]initWithObjects:@"123",@"231",@"133", nil];
 9         NSLog(@"%@",arr1);
10         /*使用类方法创建数组*/
11         NSArray *arr2=[NSArray arrayWithObjects:@"1",@"2",@"3", nil];
12         NSLog(@"%@",arr2);
 1 //复制  把一个数组内容复制到另一个数组内
 2         NSArray *newArray=[NSArray arrayWithArray:arr1];
 3         NSLog(@"%@",newArray);
 4         /*获取数组元素个数*/
 5         NSUInteger count=[arr1 count];
 6         NSLog(@"%ld",count);
 7         /*根据索引值获取对象*/
 8         NSString *p=[arr1 objectAtIndex:0];
 9         NSLog(@"%@",p);
10         /*向数组内添加一个元素*/
11         NSArray *addArr=[newArray arrayByAddingObject:@"zhou"];
12         NSLog(@"%@",addArr);
13         //使用指定的字符串将数组中元素链接起来
14         NSString *newStr=[newArray componentsJoinedByString:@","];
15         NSLog(@"%@",newStr);
16         //判定数组内是否包含某个对象
17         BOOL result=[newArray containsObject:@"123"];
18         NSLog(@"%d",result);
19         //查询某个对象在数组中的位置
20         NSUInteger index=[newArray indexOfObject:@"123"];
21         NSLog(@"%d",(int)index+1);
22         //获取数组最后一个元素(first第一个元素)
23         NSString *last=[newArray lastObject];
24         NSLog(@"%@",last);

遍历数组

 1 //遍历数组(枚举)对数组内的元素依次不重复的进行遍历
 2         //下标遍历(1)
 3         for(int i=0;i<[newArray count];i++){
 4             NSString *element=[newArray objectAtIndex:i];
 5             NSLog(@"%@",element);
 6         }
 7         //(2)
 8         for(int i=0;i<[newArray count];i++){
 9             NSLog(@"%@",newArray[i]);
10         }
11         // for in 快速遍历 遍历性高
12         for(NSString *string in newArray){
13             NSLog(@"%@",string);
14         }
15         //id 可以代表任意类型的数据,当不确定对象类型时使用
16         for(id str in newArray){
17             NSLog(@"%@",str);
18         }

创建可变数组

 1 // 可变数组继承自不可变数组
 2         //1.设定元素个数进行创建   首次创建为7个元素的空间,可继续添加
 3         NSMutableArray *muarr=[NSMutableArray arrayWithCapacity:7];
 4         //2.向数组内添加元素
 5         NSArray *arr2=[NSArray arrayWithObjects:@"1",@"2",@"3", nil];
 6         //将不可变数组复制到可变数组内
 7         NSMutableArray *muarr1=[NSMutableArray arrayWithArray:arr2];
 8         [muarr1 addObject:@"4"];
 9         for(id str in muarr1){
10             NSLog(@"%@",str);
11         }
 1 //3.根据下标插入元素
 2         [muarr1 insertObject:@"5" atIndex:4];
 3         for(id str1 in muarr1){
 4             NSLog(@"%@",str1);
 5         }
 6         //4.删除最后一个元素
 7         [muarr1 removeLastObject];
 8         for(id str2 in muarr1){
 9             NSLog(@"%@",str2);
10         }
11         //5.根据指定下标删除元素
12         [muarr1 removeObjectAtIndex:3];
13         for(id str3 in muarr1){
14             NSLog(@"%@",str3);
15         }
16         //6.根据对象删除元素
17         [muarr1 removeObject:@"1"];
18         for(id str4 in muarr1){
19             NSLog(@"%@",str4);
20         }
21         //7.替换指定下标的元素
22         [muarr1 replaceObjectAtIndex:0 withObject:@"3"];
23         for(id str5 in muarr1){
24             NSLog(@"%@",str5);
25         }
时间: 2024-08-06 03:42:02

oc 笔记--NSArray的相关文章

023-Foundation框架(上)-OC笔记

学习目标 1.[理解]NSString 2.[了解]NSString的常用方法 3.[了解]NSRange 4.[了解]NSMutableString 5.[掌握]NSArray 6.[了解]NSArray的常用方法 7.[掌握]遍历数组的三种方式 8.[了解]NSArray与字符串 9.[掌握]NSMutableArray 一.NSString 在OC中,使用NSString类型的对象来保存一个字符串对象的地址,OC字符串必须要使用 @ 前缀.NSString其实是Foundation框架中的

024-Foundation框架(下)-OC笔记

学习目标 1.[理解]NSDictionary 2.[了解]NSDictionary的常用方法 3.[掌握]NSDictionary的遍历 4.[理解]NSMutableDictionary 5.[了解]NSFileManager 6.[了解]Foundation常用结构体 7.[了解]NSNumber 8.[了解]NSValue 9.[了解]NSDate 10.[了解]集合的内存管理 11.[了解]copy和mutableCopy 12.[理解]单例模式 一.NSDictionary NSAr

021-ARC与分类-OC笔记

学习目标 1.[掌握]自动释放池 2.[理解]ARC机制 3.[理解]单个对象的内存管理 4.[理解]多个对象的内存管理 5.[掌握]ARC机制下的循环引用问题 6.[了解]MRC和ARC的兼容 7.[了解]MRC自动转为ARC 8.[掌握]分类Category 一.自动释放池 使用@autoreleasepool关键字声明一个代码块,这个代码块中的对象调用autorelease方法后,在自动释放池被销毁的时候,会统一调用一次这些对象的release方法(注意只是调用对象的release方法,并

iOS - OC - NSDictionary NSArray - nest

一道经典的 省市区题目 字典与数组的循环嵌套 对于初学OC的朋友理解字典与数组有很大的帮助 结构图 :  #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { //第一版本 //    NSString * path = @"/Users/bruce_lin/Desktop/area.txt"; //    NSString * content = [NSString stri

019-OC特有语法-OC笔记

学习目标 1.[了解]类的本质 2.[掌握]SEL数据类型 3.[掌握]点语法 4.[掌握]@property和@synthesize 5.[了解]动态类型和静态类型 6.[理解]id和instancetype 7.[理解]动态类型检测 8.[掌握]构造方法 一.类的本质 当程序执行的时候,程序中所有类都会自动加载到内存中的代码区(类加载).并且一旦类加载到代码区,会直到程序结束才会被回收. 那么类以什么形式加载到代码区的呢? 系统首先会在代码区创建一个Class对象,将类的信息(类名.属性.方

015-OC基础语法-OC笔记

学习目标 1.[了解]Objective-C语言简介 2.[掌握]第一个OC程序 3.[掌握]OC中的字符串 4.[熟悉]OC中的一些玩意 5.[了解]面向过程与面向对象 6.[掌握]类的声明和实现 7.[掌握]类的方法 一.Objective-C语言简介 Objective-C简称Obj-C或者OC,Objective的意思就是面向对象的.OC其实就是在C语言的基础之上,封装了一层面向对象的语法,他并不是一门全新的编程语言.OC是Mac OS X系统和iOS系统的主要开发编程语言,当然马上要被

OC-NSArray随意整理

//        NSArray *arr = @[@1,@2,@3,@4];  这个不可变数组不行 //1.可变数组 NSMutableArray *arr = [NSMutableArray arrayWithObjects:@"1",@"2",@"3", nil]; //2.不可变数组 NSArray *arr1 = @[@"a",@"b"]; NSArray *a = @[@2,@23]; NSA

016-类与对象-OC笔记

学习目标 1.[理解]对象在内存中的存储 2.[理解]nil和NULL 3.[了解]#pragma mark分组导航标记 4.[理解]方法与函数 5.[掌握]多文件开发 6.[掌握]对象和方法 7.[掌握]对象和属性 一.对象在内存中的存储 类加载: 当程序启动时,会加载项目中所有的类和分类,而且加载后会调用每个类和分类的+load方法,而且只会调用一次.并且类一旦加载到内存,就不会被回收,直到程序结束的时候才会被回收.这个过程就叫做类加载. 当第一次使用某个类创建对象的时候,就会调用当前类的+

OC笔记:类的基础知识及代码示例

类 1.类的定义: 类=属性+方法: -属性代表类的特征 -方法是类能对变化做出的反应 类定义的格式:类的声明和类的实现组成 -接口(类的声明):@interface 类名:基类的名字 .类名首字母要大写 .冒号表示继承关系,冒号后面的是类的父类 .NSObject是OC所有类的基类 .类的声明放在“类名+.h”文件中,要由两部分组成:实例变量和方法 -实现(类的实现):@implementation类名 .方法实现 -都用@end结束c 2.类的使用: OC中,对象通过指针来声明   如:Cl