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 { ...
随机推荐
- 如何发布Web项目到互联网
比如我们有个项目想要发布到互联网上,我们首先需要购买域名以及主机,主机的话,推荐云主机(本人推荐西部数码或者阿里云),性能好: 我们先在云主机上搭建环境,比如Mysql,Jdk,Tomcat: 然后我 ...
- Linux中的段管理,bss段,data段,
Linux 的段管理, BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域.BSS是英文Block Started by Symbol的简称.BSS段属于静态内存 ...
- RichTextBox控件日常使用集合
1.RichTextBox控件自动滚动到底部 richTextBox1.ScrollToCaret(); //将控件的内容滚动到当前光标位置
- 解决“您必须先更新GOOGLE play才能运行此应用”的问题
可以手机FQ然后更新,但是这样更新速度很慢,而且google商店上面的版本还是老版本. 正确的方法:去https://www.pushbullet.com/channel-popup?tag=am21 ...
- LeetCode_3 sum
Given an array S of n integers, are there elements a, b, c ? Find all unique triplets in the array w ...
- Linux sleep命令 和 wait命令
man sleep: SLEEP(1) User Commands SLEEP(1) NAME sleep - delay for a specified amount of time SYNOPSI ...
- 在微软平台上运行 SAP 应用程序
本博客介绍了在微软平台上运行 SAP 应用程序的相关信息,作者在基于微软平台使用 SAP 方面有着数十年经验. 发布关于 Azure 的 SAP 说明 几个月前,SAP 针对适用于 SAP 软件 ...
- Javascript中&&和&,||和|运算符两个不同点
1.性能上的比较 如果&&的第一个运算数是false,就不再考虑第二个运算数,直接返回false:如 果||的第一个运算数是true,也不再考虑第二个运算数,直接返回true.& ...
- 打开首页老是加载themes.googleusercontent.com_Wopus问答
打开首页老是加载themes.googleusercontent.com_Wopus问答 打开首页老是加载themes.googleusercontent.com
- 基于控制权限和登录验证跳转的django登录界面的实现
django框架提供了出去登录和退出系统的login和logout的视图函数,本实现中使用系统自带的是视图函数.需要在settings.py,urls.py,views.py和模板文件等几个方面进行考 ...