//
// NSSArrayStu.m
// OC基础学习
//
// Created by 麦子 on 15/4/2.
// Copyright (c) 2015年 麦子. All rights reserved.
//
#import "NSSArrayStu.h"
@implementation NSSArrayStu
-(void) arrayStu
{
NSLog(@"开始学习NSArray");
/**** OC 这边的数组和Java的功能都是类似的,其中他的定义也有一个可变的一个不可变的。下面都是一些常用的数组的方法
数组中不可以存放基本数据类型,只能存放类的实列(对象)。 如果需要讲基本数据类型,结构放入数组中,需要通过NSNumber,NSValue进行数据的封装。
***/
/**数组的初始化*/
NSArray *firstArray = [NSArray arrayWithObject:@"this is one"]; // 中文的话,需要转码
NSLog(@"firstArray-%@",firstArray);
// 多个元素初始化的时候,注意要nil作为数组的结束
NSArray *secondArray = [NSArray arrayWithObjects:@"one",@"two",nil];
NSLog(@"secondArray-%@",secondArray);
// 已数组创建一个数组
NSArray *thirdArray = [NSArray arrayWithArray:secondArray]; // 上面的都是创建一个新的数组
NSLog(@"thirdArray--%@",thirdArray);
/***数组中的常用的方法*/
// 获取数组的元素的个数
NSUInteger count = [secondArray count];
NSLog(@"count--%ld",count);
// 获取数组的对象
NSString *str = [secondArray objectAtIndex:1];
NSLog(@"----%@",str);
// 追加数组
NSArray *array3 = [secondArray arrayByAddingObject:@"maizi"];
NSLog(@"---%@",array3); // 一个新的数组
// 把数组组成一个字符串
NSString *str2 = [array3 componentsJoinedByString:@"#"];
NSLog(@"----%@",str2);
// 判断是否有这个对象
BOOL flag = [array3 containsObject:@"maizi"];
NSLog(@"flag---%d",flag);
// 找到这个对象的,在数组中的位置
NSUInteger index = [array3 indexOfObject:@"maizi"];
NSLog(@"----%ld",index);
// 找最后的一个
NSString *lastStr = [array3 lastObject];
NSLog(@"---%@",lastStr);
/****可变数组, NSArray的子类 这是在原来的基础上修改***/
// 初始化 --- 默认空间,有优化
NSMutableArray *nsarray = [NSMutableArray arrayWithCapacity:10];
NSLog(@"----%@",nsarray);
NSMutableArray *nsarray2 = [NSMutableArray arrayWithObjects:@"yes",@"no", nil];
// 追加
[nsarray2 addObject:@"OK"];
NSLog(@"---%@",nsarray2);
// 根据下标,添加对象
[nsarray2 insertObject:@"fuck" atIndex:2];
NSLog(@"---%@",nsarray2);
// 根据下标和内容删除
[nsarray2 removeObject:@"no"];
NSLog(@"---%@",nsarray2);
[nsarray2 removeObjectAtIndex:0];
NSLog(@"---%@",nsarray2);
// 删除最后一项
[nsarray2 removeLastObject];
NSLog(@"---%@",nsarray2);
// 根据数组添加,删除
NSArray *array5 = [NSArray arrayWithObjects:@"1",@"2",@"3", nil];
[nsarray2 addObjectsFromArray:array5];
NSLog(@"---%@",nsarray2);
//[nsarray2 removeObjectsInArray:array5];
//NSLog(@"----%@",nsarray2);
//替换
[nsarray2 replaceObjectAtIndex:0 withObject:@"shit"];
NSLog(@"----%@",nsarray2);
// 移除所有对象
//[nsarray2 removeAllObjects];
//NSLog(@"----%@",nsarray2);
/**数组循环*/
for(int i = 0; i<[nsarray2 count]; i++){
NSString *str = [nsarray2 objectAtIndex:i];
NSLog(@"---%@",str);
}
NSLog(@"--------------");
for (NSString *str in nsarray2) {
NSLog(@"---%@",str);
}
}
@end
</pre><pre name="code" class="objc">
</pre><pre name="code" class="objc">打印结果如下:
<pre name="code" class="plain">
2015-04-15 23:46:40.596 OC基础学习[1137:73222] 开始学习NSArray
2015-04-15 23:46:40.598 OC基础学习[1137:73222] firstArray-(
"this is one"
)
2015-04-15 23:46:40.598 OC基础学习[1137:73222] secondArray-(
one,
two
)
2015-04-15 23:46:40.598 OC基础学习[1137:73222] thirdArray--(
one,
two
)
2015-04-15 23:46:40.598 OC基础学习[1137:73222] count--2
2015-04-15 23:46:40.598 OC基础学习[1137:73222] ----two
2015-04-15 23:46:40.598 OC基础学习[1137:73222] ---(
one,
two,
maizi
)
2015-04-15 23:46:40.598 OC基础学习[1137:73222] ----one#two#maizi
2015-04-15 23:46:40.598 OC基础学习[1137:73222] flag---1
2015-04-15 23:46:40.598 OC基础学习[1137:73222] ----2
2015-04-15 23:46:40.598 OC基础学习[1137:73222] ---maizi
2015-04-15 23:46:40.599 OC基础学习[1137:73222] ----(
)
2015-04-15 23:46:40.599 OC基础学习[1137:73222] ---(
yes,
no,
OK
)
2015-04-15 23:46:40.599 OC基础学习[1137:73222] ---(
yes,
no,
fuck,
OK
)
2015-04-15 23:46:40.599 OC基础学习[1137:73222] ---(
yes,
fuck,
OK
)
2015-04-15 23:46:40.599 OC基础学习[1137:73222] ---(
fuck,
OK
)
2015-04-15 23:46:40.602 OC基础学习[1137:73222] ---(
fuck
)
2015-04-15 23:46:40.602 OC基础学习[1137:73222] ---(
fuck,
1,
2,
3
)
2015-04-15 23:46:40.602 OC基础学习[1137:73222] ----(
shit,
1,
2,
3
)
2015-04-15 23:46:40.602 OC基础学习[1137:73222] ---shit
2015-04-15 23:46:40.603 OC基础学习[1137:73222] ---1
2015-04-15 23:46:40.603 OC基础学习[1137:73222] ---2
2015-04-15 23:46:40.603 OC基础学习[1137:73222] ---3
2015-04-15 23:46:40.603 OC基础学习[1137:73222] --------------
2015-04-15 23:46:40.603 OC基础学习[1137:73222] ---shit
2015-04-15 23:46:40.603 OC基础学习[1137:73222] ---1
2015-04-15 23:46:40.603 OC基础学习[1137:73222] ---2
2015-04-15 23:46:40.604 OC基础学习[1137:73222] ---3
Program ended with exit code: 0