oc随笔五:NSArray
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
//NSArray的初始化以及常用数组操作方法简单归纳
//不可变数组
//数组的元素只能是对象,如果是int和float的话,就用NSNumber转换一下才能用
//初始化的几种方式,可以一个元素、多个元素、从已有组复制、从文件、网址等
NSArray *arr1 = [NSArray arrayWithObject:@"hello"];
for (id a in arr1) {
NSLog(@"%@",a);
}
//向数组对象初始化赋值,这里可以写任意对象的指针,结尾必须使用nil
NSArray *arr2 = [NSArray arrayWithObjects:@"hello",@"world", nil];
for (id b in arr2) {
NSLog(@"%@",b);
}
//定义指定类型的数组
NSString *str[3];
NSNumber *num[3];
//初始化数组元素赋值
str[0] = @"hello";
str[1] = @"world";
str[2] = @"!";
num[0] = [[NSNumber alloc] initWithInt:1];
num[1] = [[NSNumber alloc] initWithInt:2];
num[2] = [[NSNumber alloc] initWithInt:3];
NSArray *arr3 = [NSArray arrayWithObjects:str count:3];
NSArray *arr4 = [NSArray arrayWithObjects:num count:3];
//遍历数组方法一
for (id strr in arr3) {
NSLog(@"%@",strr);
}
//遍历数组方法二
for (int i = 0; i < [arr4 count]; i++) {
NSLog(@"%@",[arr4 objectAtIndex:i]);
}
//复制数组
NSArray *arr5 = [NSArray arrayWithArray:arr4];
for (NSNumber *c in arr5) {
NSLog(@"%@",c);
}
//给数组增加新元素(对象)
NSArray *newArr5 = [arr5 arrayByAddingObject:@"Augus"];
for (int i = 0 ; i < [newArr5 count]; i++) {
if (i == [newArr5 count] - 1) {
NSLog(@"%@",[newArr5 objectAtIndex:i]);
}
}
//把数组里元素利用连接符连接成字符串
NSString *strNew = [arr5 componentsJoinedByString:@"-"];
NSLog(@"%@",strNew);
//查询数组中是否包含某一元素,YES和NO
BOOL isContain = [arr3 containsObject:@"hello"];
NSLog(@"%d",isContain);
//查询并返回位置,如没有则为NSNotFound
NSInteger index = [arr3 indexOfObject:@"!"];
NSString *indexF = [NSString stringWithFormat:@"%ld",index];
NSInteger indexN = [indexF integerValue];//类型转换
NSLog(@"%ld",indexN);
//获取最后一个元素
NSString *lastEle = [arr3 lastObject];
NSLog(@"%@",lastEle);
//可变数组,5个元素
NSMutableArray *mutArr = [[NSMutableArray alloc] initWithCapacity:5];
//添加一个元素
[mutArr addObject:@"hello"];
[mutArr addObject:[NSNumber numberWithInt:66]];
[mutArr addObject:@"Augus"];
[mutArr addObject:[NSNumber numberWithDouble:19.9]];
//指定位置插入一个元素
[mutArr insertObject:@"world" atIndex:1];
//移除数组的元素,按名称、按序号等
NSLog(@"%@",mutArr);
[mutArr removeLastObject];
NSLog(@"%@",mutArr);
//替换元素
[mutArr replaceObjectAtIndex:2 withObject:@"!"];
NSLog(@"%@",mutArr);
//把一个数组添加到另一个里,实际上就是把数组里的元素都添加进去了
[mutArr addObjectsFromArray:arr4];
NSLog(@"%@",mutArr);
NSLog(@"%ld",[mutArr count]);
}
return 0;
}
oc随笔五:NSArray的更多相关文章
- OC第三节——NSArray和NSMutableArray
1.OC数组和c数组的区别 C语言的数组: 相同类型变量的有序结合. 类型:可以是简答数据类型.构造数据类型 int a[10 ...
- OC知识梳理-NSArray与NSMutableArray相关知识
知识普及: 1.数组中的元素在系统中都会有其默认对应的下标,下标是一个整形的数字,默认从0开始. 例:NSArray *arr3 = @["345","234" ...
- OC——第五天NSSArray /NSDicti…
1.oc中常用的集合(容器)有: 1.NSArry 数组:2.NSDicitionary 字典:3.NSSet 集(不常用) 数组:NSArry 继承自NSObject ,不可变的数组,用于管理一系列 ...
- iOS开发基础:OC数组对象NSArray的常用方法
本文介绍了OC的数组对象的基本方法的使用: 因为OC的数组中存储的为对象类型,所以我们可以新建一个Person类,通过Person生成对象进行操作. 其中Person.h中的代码为: [objc] v ...
- OC第五节 ——点语法和@property
一.setter和getter函数 1.回忆:如何访问对象中的成员变量 2.setter和getter函数的作用 setter 方法: 修改对象的字段/实例变 ...
- android 学习随笔五(界面)
把数据库内容显示到界面 清单文件设置为线性布局(5大布局属于ViewGroup) 在清单文件中可以增加View显示 LinearLayout ll = (LinearLayout) findViewB ...
- OC随笔一:类
总结: 在oc中,我们要整出一个类来,首先需要一个.h头文件和一个.m实现文件.一般我们创建的类都继承了根类,因为根类帮我们实现了很多实用的方法,而类里面会有变量(属性) .函数(方法) ...
- oc随笔六:字典
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { ...
- oc随笔四:NSString、NSNumber
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { ...
随机推荐
- 23 读取excel
/** index mappingname originalname datatype family 0 task_id taskIndexCode STRING info 1 task_type r ...
- 总结:spring 的ioc 知识点
1. spring ioc的优点 解耦,对象的创建不直接在代码里生成(不方便修改) ,交由容器创建.... 2.IOC 和 DI 的区别 依赖关系:A类 里 要调用B类 如 se ...
- CSS阻止文本选择
在日常运用中,经常遇到点击按钮/菜单的时候,选中了文本,为了避免这种情况,可以使用纯css来解决这个问题(IE10+),对于旧版本的就只能用js:onselectstart = 'return fal ...
- 智能的PHP缩图类
*作者:落梦天蝎(beluckly)*完成时间:2006-12-18*类名:CreatMiniature*功能:生成多种类型的缩略图*基本参数:$srcFile,$echoType*方法用到的参数:$ ...
- Python 一路走来 HTML CSS Javascript
前端三把利器 HTML -标签 (成对写不容易忘记闭合) 自闭和标签 标签里写个 xx=xx, 表示标签的属性 ...
- ubuntu12.04安装jdk-7u79-linux-i586.tar.gz
第一步:下载jdk-7u79-linux-i586.tar.gz 1.wget -c http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-linux ...
- SAE Python使用经验 好文推荐
SAE Python使用经验 好文推荐 SAE Python使用经验 好文推荐
- 新闻:型牌男装:网上订服装,如何将返修率降到5个点以下 | IT桔子
新闻:型牌男装:网上订服装,如何将返修率降到5个点以下 | IT桔子 型牌男装:网上订服装,如何将返修率降到5个点以下
- 使用layer显示弹出框笔记
$.layer({ area : ['200px','auto'], //控制层宽高.当设置为auto时,意味着采用自适应, 当然,对于宽度,并不推荐这样做.例如:area : ['310px ...
- c语言指针与结构体之内存动态分配
struct dangdangtest { ]; ]; ]; int num; int bugnum; ]; ]; double RMB; }; void main2() { //struct dan ...