OC中-数组是如何遍历的?
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
//也可以用:NSArray *array = [NSArray arrayWithObjects:@"One",@"Two",@"Three",nil];
NSArray* array = [[NSArray alloc] initWithObjects:
@"One",@"Two",@"Three",nil]; //nil起结束标志的作用
NSLog(@"%lu", [array count]);
//第一种遍历方法:
for(int i = 0; i < array.count; i++)
{ //如果知道数组里存的对象如本题则可以用NSString接收,如果不知道则可以用id接收
//id obj = [array objectAtIndex:i];
NSString* str = [array objectAtIndex:i];
NSLog(@"%@", str);
}
//第二种变量方法:快速枚举
for(NSString* obj in array)
{
NSLog(@"%@", obj);
}
NSArray* array2 = [NSArray arrayWithArray:array];
[pool drain];
return 0;
}

字符串分割成数组对象与连接

#import <Foundation/Foundation.h>
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
NSString* str = @"one,two,three,four,five";
//分割字符创为数组,下例以“,”分割
NSArray* array = [str componentsSeparatedByString:@","];
for(NSString* obj in array)
{
NSLog(@"%@", obj);
}
//链接字符串,下例以空格连接
str = [array componentsJoinedByString:@" "];
NSLog(@"%@", str);
[pool drain];
return 0;
}

运行结果:
2012-06-24 23:18:51.394 demo8[412:707] one
2012-06-24 23:18:51.397 demo8[412:707] two
2012-06-24 23:18:51.398 demo8[412:707] three
2012-06-24 23:18:51.399 demo8[412:707] four
2012-06-24 23:18:51.401 demo8[412:707] five
2012-06-24 23:18:51.401 demo8[412:707] one two three four five
数组的插入:
NSArray只能管理OC的对象,它管理的这些对象可以是不同类型的。
数组对每一个对象具有拥有权。

#import <Foundation/Foundation.h>
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
//往数组中插入内容
NSMutableArray* array1 = [NSMutableArray arrayWithCapacity:0];
[array1 addObject:@"one"];
NSLog(@"%@", array1);
[array1 addObject:@"three"]; //都是插在末尾
NSLog(@"%@", array1);
[array1 insertObject:@"two" atIndex:1]; //插入索引为几的位置
for(NSString* obj in array1)
{
NSLog(@"%@", obj);
}
//移除
[array1 removeObjectAtIndex:2];
NSLog(@"%@", array1);
[pool drain];
return 0;
}
加微信txs8882909 大家一起讨论
OC中-数组是如何遍历的?的更多相关文章
- OC中数组类NSArray的详解,常用属性和方法(一)
数组是一个有序的集合,OC中的数组只能存储对象类型, 但是对于对象的类型没有限制. 通过下标访问数组元素,下标从0开始. NSA
- Swift的数组与OC中数组的区别
相同的值可以多次出现在一个数组的不同位置: Swift中的数组,数据值在被存储进入到某个数组之前类型必须明确,可以显示的类型标注或者类型推断.而且,Swift中的数组不必是对象类型. OC中的NSAr ...
- OC中数组的使用方法
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { // 创建数组 NS ...
- OC中数组类NSArray的详解,数组的遍历(二)
数组类的便利 1.for循环(大家都会的...) 2.NSEmunerator 3.for in 首先重点说下 第二种NSEmunerator枚举器,系统声明是 @interface NSEnumer ...
- Oc中的数组
========================== 数组 ========================== 一.认识数组 oc中可以把NSObject对象的子类放到数组这个集合中,但是int.f ...
- OC中对象元素的引用计数 自动释放池的相关概念
OC中数组对象在是如何处理对象元素的引用计数问题的,同时介绍一下自动释放池的相关概念 一.数组对象是如何处理对象元素的引用计数问题[objc] view plaincopy 1. // 2. / ...
- Swift中实现Array数组和NSArray数组的相互转换与遍历
Array是Swift中的数组数据类型.而NSArray是OC中的数组数据类型.两者有差别有联系.在Swift中有时候难免会使用到OC中的一些东西.今天我们就来Swift中使用NSArray和Arra ...
- OC中如何把数组中字典的数据转换成URL?
在使用objective-c语言开发iOS应用中,会向服务器通过URL请求一些数据,因此对URL的拼接肯定少不了.而在iOS中,我们一般是通过将字典中的数据拼接成我们要请求的URL字符串,那这个是怎么 ...
- java中数组、集合、字符串之间的转换,以及用加强for循环遍历
java中数组.集合.字符串之间的转换,以及用加强for循环遍历: @Test public void testDemo5() { ArrayList<String> list = new ...
随机推荐
- java jvm学习笔记七(jar包的代码认证和签名)
欢迎装载请说明出处:http://blog.csdn.net/yfqnihao 前言: 如果你循序渐进的看到这里,那么说明你的毅力提高了,jvm的很多东西都是比较抽像的,如果不找相对应的代码来辅助理解 ...
- FFmpeg 2.0编译配置
./configure --enable-shared --enable-doc --enable-ffmpeg --enable-ffplay --enable-ffprobe --enable- ...
- Cloudera Manager安装
安装环境: 系统:CentOS 6.3 64位 虚拟机:VMWare
- 【译】 AWK教程指南 8处理多行数据
awk 每次从数据文件中只读取一行数据进行处理.awk是依照其内置变量 RS(Record Separator) 的定义将文件中的数据分隔成一行一行的Record.RS 的默认值是 "\n& ...
- vi常用命令与设置(不断修改中)
注:前缀':'表示vim命令(命令模式),前缀'$'表示为shell命令,表示Ctrl + W,表示Ctrl + Shift+ 6,无前缀者均为普通模式下的键盘按键.基本的插入与修改: ...
- 寒假训练第九场 Brocard Point of a Triangle
题意:求布洛卡点坐标 思路:直接利用布洛卡点的性质.http://pan.baidu.com/s/1eQiP76E #include<cstdio> #include<cstring ...
- HW6.14
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...
- iphone练习之手势识别(双击、捏、旋转、拖动、划动、长按)UITapGestureRecognizer
首先新建一个基于Sigle view Application的项目,名为GestureTest;我的项目结构如下: 往viewController.xib文件里拖动一个imageView,并使覆盖整个 ...
- jsDoc注释的规范
注释以/** 开始 */结束 JSDoc 命令属性 命令名 描述 @param @argument 指定参数名和说明来描述一个函数参数. @return @returns 描述函数的返回值. ...
- rxjs5.X系列 —— Combination/Multicasting系列 api 笔记
欢迎指导与讨论 :) 前言 本文是笔者翻译 RxJS 5.X 官网各类operation操作系列的的第三篇 -- Combination组合与Multicasting广播.如有错漏,希望大家指出提醒O ...