• 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
  • 相关阅读:
    HDU
    HDU
    HDU
    HDU
    HDU
    HDU
    HDU
    HDU
    HDU
    HDU
  • 原文地址:https://www.cnblogs.com/iOSCain/p/4020473.html
Copyright © 2020-2023  润新知