Foundation框架学习之NSArray和NSMutableArray

NSArray和NSMutableArray分为不可变与可变两种,NSArray是不能进行增、删、改的;它们各种用法通过下面的例子记下来,方便后面查看。

//
//  NSArrayDemo.m
//  OCDemo1
//
//  Created by dcr on 2016/12/8.
//  Copyright © 2016年. All rights reserved.
//

#import "NSArrayDemo.h"
#import "Person.h"

@implementation NSArrayDemo

- (void)printNSArray{
    //OC的数组可以存储不同类型的对象,OC数组只能存储对象
    Person *person = [[Person alloc]init];
    person.className = @"Person";
    
    NSArray *arr1 = [[NSArray alloc] initWithObjects:@"1", @"2", @"3", person, @"5", nil];
    //得到数组长度
    int count = (int)[arr1 count];
    NSLog(@"count = %d", count);
    NSLog(@"arr1 containsObject = %d", [arr1 containsObject:@"4"]);
    //得到最后一个元素
    NSLog(@"arr1 lastObject = %@", [arr1 lastObject]);
    //得到第一个元素
    NSLog(@"arr1 firstObject = %@", [arr1 firstObject]);
    //得到指定下标的元素
    NSLog(@"arr1 objectAtIndex = %@", [arr1 objectAtIndex:2]);
    //得到指定元素的下标
    NSLog(@"arr1 indexOfObject = %d", (int)[arr1 indexOfObject:@"3"]);
    
    //数组遍历
    for(int i = 0; i < arr1.count; i++){
        NSLog(@"arr1 i = %d, object = %@", i, [arr1 objectAtIndex:i]);
    }
    //增强for
    for(id obj in arr1){
        NSLog(@"str = %@", obj);
    }
    //迭代器
    NSEnumerator *enumerator = [arr1 objectEnumerator];
    id obj = nil;
    while(obj = [enumerator nextObject]){
        NSLog(@"obj = %@", obj);
    }
    
    
}

- (void)printNSMutableArray{
    Person *p1 = [[Person alloc] init];
    p1.className = @"deng";
    Person *p2 = [[Person alloc] init];
    p2.className = @"zhao";
    Person *p3 = [[Person alloc] init];
    p3.className = @"tai";
    NSArray *array = [[NSArray alloc] initWithObjects:p2, p3, nil];
    NSMutableArray *arr = [[NSMutableArray alloc] init];
    //添加元素
    [arr addObject:p1];
    [arr addObjectsFromArray:array];
    for(Person *p in arr){
        NSLog(@"class name = %@", p.className);
    }
    //删除元素
    //删除所有元素
    //[arr removeAllObjects];
    //删除指定元素
    //[arr removeObject:p2];
    //删除最后一个元素
    //[arr removeLastObject];
    //删除指定下标元素
    //[arr removeObjectAtIndex:1];
    
    //交换元素位置
    [arr exchangeObjectAtIndex:0 withObjectAtIndex:1];
    for(Person *p in arr){
        NSLog(@"class name = %@", p.className);
    }

}

@end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值