NSArray的创建

NSArray是OC三大基础数据结构之一, 与字符串, 字典一样的重要. 这里我们来讲解一下Array的一些常用方法以及注意的事项.

其实在OC上创建NSArray有很多方法可以使用.

比如:

initWithObjects: 这个方法就是创建一个字符串数组.

description: 关于这个方法.详情请去看http://www.cnblogs.com/iOSCain/p/4019697.html

而我这里是利用了重写description的一个方法创建了一个字符串数组, 下面让我们来看看例子吧~

首先我们需要新建一个Cocoa.class文件.

Human.h文件

#import <Foundation/Foundation.h>

@interface Human : NSObject

@end

Human.m文件

#import "Human.h"

@implementation Human

- (NSString *)description
{
    return @"I am a human!";
}

@end

main.m文件

#import <Foundation/Foundation.h>
#import "Human.h"

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        //这里我们重写了Description的方法.
        Human *human = [Human new];
        //NSLog(@"human = %@", human);
        //打印description就是打印它的返回值的地址.
        //输出结果是:
        //2014-10-11 20:28:40.062 NSArray[2314:303] human = I am a human!
        //Program ended with exit code: 0

        NSArray *array = [[NSArray alloc]initWithObjects:@"One", @"Tow", @"Three", human, nil];
        //为什么这里会使用字符串呢, 那是因为用字符串创建的数组比较的简单.
        //而且数组中装的是元素的地址, 不是值.
        //一个元素可以在多数组中使用.
        NSLog(@"array = %@", array);
        //打印数组, 就是打印数组里的每一个元素.
        //为什么在OC中可以这么简便的打印出数组呢?
        //为什么把human放到数组里的输出结果会是"I am a human!"?
        //那是因为human返回的地址不是一个单词, 而是一个字符串.

        [array release];
        [human release];

    }
    return 0;
}

输出的结果:

2014-10-12 13:42:51.657 NSArray[1216:303]
array = (
    One,
    Tow,
    Three,
    "I am a human!"
)
Program ended with exit code: 0
时间: 2024-10-28 10:27:16

NSArray的创建的相关文章

NSArray的创建(二)类方法

利用一个类方法来创建一个数组, 关于什么是类方法, 同学们麻烦请回去自行查找, 这里不做解释, 下面我们来看看方法和例子. 涉及的方法: @property (nonatomic, assign) int age: 定义一个int age 的属性. + (instancetype)arrayWithArray:(int)age: 声明一个arrayWithArray的类方法. 下面我们来看看例子: 先创建一个新的文件, 我这里命名为LeiNSArray.h文件 #import <Foundati

[OC Foundation框架 - 7] NSArray的创建与遍历

NSArray是不可变的,不能先创建再添加元素 NSArray可以放入任何OC对象,但不能放入基本数据类型.结构体.枚举等非OC对象 不能存储nil A.常用方法1 创建 返回用量 是否含有某元素 最后的元素 取得某位置的元素 当一个对象放入数组的时候,这个对象的计数器加1 1 #pragma mark create a array 2 void arrayCreate() 3 { 4 //Create an empty array 5 NSArray *array = [NSArray arr

NSArray与NSMutableArray 数组与可变数组的创建和遍历 复习

1.NSArray 是一个父类,NSMUtableArray是其子类,他们构成了OC的数组. 2.NSArray的创建 NSArray * array = [[NSArray alloc]initWithObjects:@"one",@"two",@"three",@"four good",nil];//用对象初始化一个数组,这里是任意四个对象,不一定是字符串.//OC中的数组,不是真正的数组,这是一个链表,nil的作用正是表

《黑马程序员》 NSArray和NSMutableArray的使用(Objective - c语法)

------- <a href="http://www.itheima.com" target="blank">Windows Phone 7手机开发</a>.<a href="http://www.itheima.com" target="blank">.Net培训</a>.期待与您交流! ------- 1 NSArray 的使用方法 • Foundation中数组(NSAr

NSArray ----NSMutableArray

//NSArray •Foundation中数组(NSArray)是有序的对象集合 •NSArray只能存储Objective-C的对象,而不能存储像 int.float这些基本数据类型,但是Objective-C对C 兼容,所以在Objective-C程序中,仍然可以使用C的 数组来存储基本数据类型 •NSArray?一旦创建便不可以再对它就进行更改,如果 要进行对数组的增.删.改等操作的话,需要使用 NSArray的子类NSMutableArray来创建对象 //NSArray常用方法 •+

OC学习篇之---Foundation框架中的NSArray类和NSMutableArray类

在之前的一篇文章中介绍了Foundation框架中的NSString类和NSMutableString类: http://blog.csdn.net/jiangwei0910410003/article/details/41788223 今天我们继续来看一下Foundation框架中的NSArray类和NSMutableArray类,其实NSArray类和Java中的List差不多,算是一种数据结构,当然我们从这两个类可以看到,NSArray类是不可变的,NSMutableArray类是可变的.

Objective-C基础笔记(9)Foundation常用类NSArray

NSArray用来存储对象的有序列表,它是不可变的 NSArray不能存储C语言中的基本数据类型,如int.float.enum.struct,也不能存储nil,nil代表数组元素的结束 // // main.m // NSArray // // Created by lixiaoqiang on 14/11/19. // Copyright (c) 2014年 lixiaoqiang. All rights reserved. // #import <Foundation/Foundation

OC NSArray使用

#import <Foundation/Foundation.h> #import "Student.h" #pragma mark 创建一个数组 void arrayCreate() { // 创建一个空的数组 NSArray *array = [NSArray array]; // 创建有1个元素的数组 array = [NSArray arrayWithObject:@"123"]; // 创建有多个元素的数组 array = [NSArray a

[好程序员训练营]Objective-C学习笔记--基本数据结构NSArray

<A href="http://www.goodprogrammer.org/" target="blank">ios培训</A>------我的OC语言笔记,期待与您交流! 前言:NSArray是OC中的数组类,用NSArray可以创建一个不可变数组对象,而他的子类NSMutableArray则可以用来创建可变数组对象.下面分别介绍二者的部分用法. NSArray 1 NSArray * array = [[NSArray alloc] i