NSArray数组


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

    //数组的创建 

    NSArray *array1 = [NSArray arrayWithObject:@"one"];

    NSArray *array2 = [NSArray arrayWithObjects:@"one", @"two", nil];

    NSArray *array3 = [NSArray arrayWithArray:array2];

    NSArray *array4 = [[NSArray alloc] initWithArray:array1];

    NSLog(@"%@, %@, %@, %@", array1, array2, array3, array4);

    //输出:one

            one,two

            one,two

            one

             

    //数组中元素的访问与个数

    int count [array2 count];    //输出:count = 2

    NSString *string1 = [array2 objectAtIndex:0];    //输出:string = one

     

    //追加数组中的内容

    NSArray *array5 = [array2 arrayByAddingObject:@"end"];    //输出:array5 = one,two,end

     

    //数组->字符串

    NSString *string2 = [array5 componentsJoinedByString:@","];    //输出:string2 = one,two,end

         

    //判断数组中是否存在一个指定的对象

    BOOL isContain = [array5 containObject:@"end"];    //输出:isContain = 1

     

    //根据指定的对象返回索引下标

    NSInteger index = [array5 indexOfObject:@"end"];    //输出:index = 2

     

    //返回数组中最后一个元素

    NSString *lastObject = [array5 lastObject];    //输出:lastObject = end

     

    /*****************可变数组*******************/

    //创建一个空的数组

    //NSMutableArray *mutableArray1 = [NSMutableArray array];

    //NSMutableArray *mutableArray2 = [NSMutableArray arrayWithCapacity:5]    //期望大小为5,实际可超过

    NSMutableArray *mutableArray3 = [NSMutableArray arrayWithObjects:@"one", @"two", @"end", @"five", nil];

     

    //追加一个内容

    [mutableArray3 addObject:@"four"];    //输出:one, two, four

     

    //根据索引插入一个内容

    [mutableArray insertObject:@"three" atIndex:2];    //输出:one, two, three, four

     

    //移除最后一个元素

    [mutableArray removeLastObject];

    //删除指定元素

    [mutableArray removeObject:@"end"];

    //删除指定下标元素

    [mutableArray removeObjectAtIndex:3];

    //删除指定数组内容

    NSMutableArray *deleteArray = [NSMutableArray arrayWithObjects:@"one", @"two",nil];

    [mutableArray removeObjectInArray:deleteArray];

     

    //替换指定下标元素

    [mutableArray replaceObjectAtIndex:2 withObject:"six"];

     

    //移除所有对象

    [mutableArray removeAllObejects];

     

    /*************遍历数组*********************/

    //常规遍历(性能较低)

    NSArray *array = [NSArray arrayWithObjects:@"a", @"b", @"c", nil];

    int length = [array count];

    for(int i=0; i<length; i++)

    {

        NSString *element = [array objectAtIndex:i];

        NSLog(@"%@", element);

     }

      

     //快速遍历(性能较高)

     for(NSString *string in array)

         NSLog(@"%@", string);

     //当不确定数组的元素的类型时,可以选用id

     for(id string in array)

         NSLog(@"%@", string);

时间: 2024-11-02 18:50:09

NSArray数组的相关文章

iOS中NSArray数组常用处理方式_IOS

1. 数组的常用处理方式 //--------------------不可变数组 //1.数组的创建 NSString *s1 = @"zhangsan"; NSString *s2 = @"lisi"; NSString *s3 = @"wangwu"; //(1) NSArray *array1 = [[NSArray alloc] initWithObjects:s1,s2,s3, nil]; NSLog(@"%@",a

iOS - OC NSArray 数组

前言 @interface NSArray<__covariant ObjectType> : NSObject <NSCopying, NSMutableCopying, NSSecureCoding, NSFastEnumeration> @interface NSMutableArray<ObjectType> : NSArray<ObjectType> 数组只能存储 OC 对象,不能存储 C 语言中的基本数据类型,也不能存储 nil . Xcode

NSPredicate过滤数组数据

NSPredicate 编写软件时,经常需要获取一个对象集合,然后删除不满足条件的对象,保留符合条件的对象,从而提供一些有意义的对象. Cocoa提供了一个名为NSPredicate的类,他用于指定过滤器的条件.可以创建NSPredicate对象,通过该对象准确地描述所需的条件,对每个对象通过谓词进行筛选,判断他们是否与条件相匹配. Cocoa用NSPredicate描述查询的方式,原理类似于在数据库中进行查询.可以在数据库风格的API中使用NSPredicate类,例如Core Data和Sp

窥探Swift之数组安全索引与数组切片

在Swift中的数组和字典中下标是非常常见的,数组可以通过索引下标进行元素的查询,字典可以通过键下标来获取相应的值.在使用数组时,一个常见的致命错误就是数组越界.如果在你的应用程序中数组越界了,那么对不起,如果由着程序的性子的话是会崩溃的.为了防止崩溃呢,我们会对集合做一些安全的处理.比如对数组进行扩展,从而对数组的索引进行安全检查,保证数组的index在正常范围内.在Objective-C中也是经常对数组,字典等做一些处理操作. 今天的博客的主要内容是先对Objective-C中常用集合的安全

xcode-JSON解析出现了问题

问题描述 JSON解析出现了问题 获取了一个JSON无法解析. 代码: [httpClient postPath:@"""" parameters:parameters success:^(AFHTTPRequestOperation *operation id responseObject) { NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:responseObject optio

Swift中使用可选类型完美解决占位问题

  这篇文章主要介绍了Swift中使用可选类型完美解决占位问题,本文讲解了为Dictionary增加objectsForKeys函数.Swift中更简便的方法.内嵌可选类型等内容,需要的朋友可以参考下 可选类型是Swift中新引入的,功能很强大.在这篇博文里讨论的,是在Swift里,如何通过可选类型来保证强类型的安全性.作为例子,我们来创建一个Objective-C API的Swift版本,但实际上Swift本身并不需要这样的API. 为Dictionary增加objectsForKeys函数

Swift字典类

在Foundation框架中提供一种字典集合,它是由"键-值"对构成的集合.键集合不能重复,值集合没有特殊要求.键和值集合中的元素可以是任何对象,但是不能是nil.Foundation框架字典类也分为NSDictionary不可变字典和NSMutableDictionary可变字典.一.NSDictionary类 NSDictionary有很多方法和属性,下面总结其常用的方法和属性. initWithDictionary: 构造器,通过Swift的Dictionary创建NSDicti

iOS App中UIPickerView选择栏控件的使用实例解析_IOS

UIPickerView控件是比UIDatePicker控件更普通的Picker控件,UIDatePicker控件可以理解成是从UIPickerView控件加工出来的专门进行日期选择的控件. UIPickerView控件的用法比UIDatePicker复杂一点.本文中的小例子将用UIPickerView控件做出两种效果,第一个只有一个转盘,第二个有两个转盘,但这两个转盘之间没有依赖关系,也就是说改变其中一个转盘中的选择,不会对第二个转盘产生影响.在下一篇文章会做一个转盘之间有依赖关系的例子. 下

Objective-C中的集合类

       下面详细的介绍Objective-C中的集合类以及每个集合类的用法,学过其他面向对象编程语言的小伙伴们看到OC的集合类会有种莫名的亲切感,理解起来问题不大,可以类比Java中的集合类去学习. 在Objective-C中的集合类中主要包括不可变的数组--NSArray,  可变的数组--NSMutableArray,   不可变的字典--NSDictionary,    可变的字典--NSMutableDictionary, 不可变的集合--NSSet,可变的集合--NSMutabl