OC NSMutableArray

Posted 守望星空

tags:

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

 

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

void arrayCreate() {
    NSMutableArray *array = [NSMutableArray arrayWithObject:@"1"];
    // 添加元素
    [array addObject:@"2"];
    [array addObject:@"3"];
    
    // [array removeObject:@"2"];
    // [array removeLastObject];
    [array removeAllObjects];
    
    NSLog(@"%@", array);
}


void arrayMemory() {
    NSMutableArray *array = [[NSMutableArray alloc] init];
    // stu1:1
    Student *stu1 = [[Student alloc] init];
    stu1.age = 10;
    // stu2:1
    Student *stu2 = [[Student alloc] init];
    stu2.age = 20;
    
    // 对被添加的元素做一次retain操作,计数器+1
    [array addObject:stu1]; // stu1:2
    [array addObject:stu2]; // stu2:2
    
    NSLog(@"add->stu1:%zi", [stu1 retainCount]);
    
    // 对被删除的元素做一次release操作,计数器-1
    [array removeObject:stu1]; // stu1:1
    
    NSLog(@"remove->stu1:%zi", [stu1 retainCount]);
    
    // 释放学生
    [stu1 release]; // stu1:0
    [stu2 release]; // stu2:1
    
    // 当数组被释放的时候,会对所有的元素都做一次release操作
    [array release]; // stu2:0
}

void arrayReplace() {
    NSMutableArray *array = [NSMutableArray arrayWithObjects:@"1", @"2", @"3", nil];
    
    [array replaceObjectAtIndex:1 withObject:@"4"];
    
    NSLog(@"%@", array);
}

void arraySort() {
    NSMutableArray *array = [NSMutableArray arrayWithObjects:@"1", @"3", @"2", nil];
    
    [array sortUsingSelector:@selector(compare:)];
    
    NSLog(@"%@", array);
}

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        arraySort();
    }
    return 0;
}

 

以上是关于OC NSMutableArray的主要内容,如果未能解决你的问题,请参考以下文章

OC系列foundation Kit基础-NSMutableArray

IOS开发-OC学习-常用功能代码片段整理

oc 中组合排序算法

Objective - C NSArray不可变数组和NSMutableArray可变数组

如何将 NSMutableArray 传递给另一个视图

swift 之 纯代码创建 cell