Objective-C之NSArray

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Objective-C之NSArray相关的知识,希望对你有一定的参考价值。

Foundation 数组是有序的对象集合。通常情况下,一个数组中的所有元素都是一种特定的类型,但这不是必须的。不可变数组由NSArray类处理,可便数组由NSMutableArray类来处理。后者是前者的子类。

今日讲解 : NSArray-->
首先来一段Demo

#import <Foundation/Foundation.h>

int main (int argc, const char *argv[]) {
    int i;
    @autoreleasepool {
        NSArray *monthNames = [NSArray arrayWithObjects:
                               @"January",@"111",nil];
        NSLog(@"Month Name");
        NSLog(@"===== =====");

        for (i = 0; i <  monthNames.count ; ++i ) {
            NSLog(@"%2i %@" , i+1 , [monthNames objectAtIndex:i]);
        }
    }
    return 0;
}

结果:
技术分享图片

类方法 arrayWithObjects:使用一系列对象(Objects)作为元素来创建对象。注意最后以nil来结束。nil不存在于数组中,只是用作结束符。

NSArray 几种实例化的方法:
①:实例化一个空数组(创建一个空的数组)

NSArray *init = [NSArray array];

②:创建有一个元素的数组

 NSArray *init = [NSArray arrayWithObject:@"only"];

③:用一个数组可以创建另外一个数组

NSArray *init = [NSArray arrayWithArray:arr];

④:创建有多个元素的数组 (看Demo实例)

NSArray 常用的方法:
① , init.count -> 数组的长度
② , init objectAtIndex:3 -> 获取数组的第四个元素
③ , monthNames indexOfObject:@"111" -> 获取元素 111 在数组中的下标
④ , monthNames containsObject:@"111" -> 数组中是否含有 111 这个元素

以上是关于Objective-C之NSArray的主要内容,如果未能解决你的问题,请参考以下文章

如何将自定义对象的 NSArray 归档到 Objective-C 中的文件

IOS/Objective-C:无法将 CoreData 值保存到 NSArray

在 Objective-C 中将 NSArray 过滤成一个新的 NSArray

iOS开发常用技巧之Objective-C

Objective-C 正确复制一个 NSArray?

如何将这个 Objective-C 代码片段写入 Swift?