#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中-数组是如何遍历的?的更多相关文章

  1. OC中数组类NSArray的详解,常用属性和方法(一)

    数组是一个有序的集合,OC中的数组只能存储对象类型, 但是对于对象的类型没有限制. 通过下标访问数组元素,下标从0开始. NSA

  2. Swift的数组与OC中数组的区别

    相同的值可以多次出现在一个数组的不同位置: Swift中的数组,数据值在被存储进入到某个数组之前类型必须明确,可以显示的类型标注或者类型推断.而且,Swift中的数组不必是对象类型. OC中的NSAr ...

  3. OC中数组的使用方法

    #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) {     // 创建数组     NS ...

  4. OC中数组类NSArray的详解,数组的遍历(二)

    数组类的便利 1.for循环(大家都会的...) 2.NSEmunerator 3.for in 首先重点说下 第二种NSEmunerator枚举器,系统声明是 @interface NSEnumer ...

  5. Oc中的数组

    ========================== 数组 ========================== 一.认识数组 oc中可以把NSObject对象的子类放到数组这个集合中,但是int.f ...

  6. OC中对象元素的引用计数 自动释放池的相关概念

    OC中数组对象在是如何处理对象元素的引用计数问题的,同时介绍一下自动释放池的相关概念 一.数组对象是如何处理对象元素的引用计数问题[objc]  view plaincopy 1. //   2. / ...

  7. Swift中实现Array数组和NSArray数组的相互转换与遍历

    Array是Swift中的数组数据类型.而NSArray是OC中的数组数据类型.两者有差别有联系.在Swift中有时候难免会使用到OC中的一些东西.今天我们就来Swift中使用NSArray和Arra ...

  8. OC中如何把数组中字典的数据转换成URL?

    在使用objective-c语言开发iOS应用中,会向服务器通过URL请求一些数据,因此对URL的拼接肯定少不了.而在iOS中,我们一般是通过将字典中的数据拼接成我们要请求的URL字符串,那这个是怎么 ...

  9. java中数组、集合、字符串之间的转换,以及用加强for循环遍历

    java中数组.集合.字符串之间的转换,以及用加强for循环遍历: @Test public void testDemo5() { ArrayList<String> list = new ...

随机推荐

  1. 《深入Java虚拟机学习笔记》- 第1章 Java体系结构

    一.体系结构组成 当编写并运行一个Java程序时,就同时体验了这四种技术.用Java语言编写源代码,编译成Java Class文件,然后再在Java虚拟机上运行class文件.当编写程序时,通过调用类 ...

  2. java创建对象的四种方式

    1.最常见的 new 一个 2使用反射机制创建对象,直接调用非构造函数 Class obj=Class.forName("A"); A a=obj.newInstance(); C ...

  3. HW5.26

    public class Solution { public static void main(String[] args) { int totalCount = 0; int lineCount = ...

  4. leetcode@ [127] Word Ladder (BFS / Graph)

    https://leetcode.com/problems/word-ladder/ Given two words (beginWord and endWord), and a dictionary ...

  5. PCb过孔大小设置 / 丝印层字符尺寸设置

    PCb过孔大小一般设置为:内孔(孔尺寸)0.30(12mil),外壳(直径)0.6(24mil) 常用过孔设置: 内径: 15mil(0.381mm)  30mil(0.762mm) 外径: 20mi ...

  6. [iOS基础控件 - 3.5] NSBundle, UIImageView和UIButton的区别, 模拟器和文档

    1.NSBundle1> 一个NSBundle代表一个文件夹,利用NSBundle能访问对应的文件夹2> 利用mainBundle就可以访问软件资源包中的任何资源3> 模拟器应用程序 ...

  7. 转载StringBuilder说明

    动态串StringBuilder 利用System.Text.StringBuilder类实现动态字符串,动态的含义是指在修改字符串时,系统不需要创建新的对象,不会重复开辟新的内存空间,而是直接在原来 ...

  8. Arrays.asList的源码分析

    以前一直很奇怪为什么Arrays.asList的数组不能插入新的数据,后来看了源码发现是因为内部是一个final的数组支持起来的Arraylist,下面贴入源码与分析. 1.先看Arrays的方法 我 ...

  9. mysql之一

    MySQL or MariaDB 简介 DBMS:数据库管理系统 RDBMS:关系型数据库管理系统    总之:他们都是一个数据管理程序:大多都是CS架构,都有专门的通信协议进行数据交换 关系模型: ...

  10. SAP ABAP 处理字符串串串串串串串串(详细)

    关于ABAP中处理字符串的方法,非常详细,学习过程中总结一下分享给大家,,, ABAP/4 提供多个处理类型 C 即字符串 的数据对象的关键字. 处理字符串 的方法有: 1.拆分字符串split 2. ...