·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> app软件开发 >> IOS开发 >> IOS学习笔记2015-03-20OC-集合-数组

IOS学习笔记2015-03-20OC-集合-数组

作者:佚名      IOS开发编辑:admin      更新时间:2022-07-23
[NSArray]
一 定义
1  不可变数组
2 oc中数组的元素可以是任何对象  
3 数字中装有元素的地址 

二 初始化
NSArray *变量 = [[NSArry alloc] initWithObjects:对象...,nil];

三 使用场景
1 遍历数组 
A 枚举
 NSEnumerator *enums = [array1 objectEnumerator];
  while (obj=[enums nextObject]) 
B 下标
 for (i=0;i<count;i++) {
C 快速枚举法
for(id obj in array1)

2 获取长度
int count = [数组对象 count];


[NSMutableArray]
一 定义
1 可变数组
2 可以插入任意对象

二 初始化
NSMutableArray *变量名 = [[NSMutableArray alloc] init];

三 使用场景
1 增加对象
[mutableArray addObject:@"JACK"];
2 下标替换对象
[mutableArray exchangeObjectAtIndex:0 withObjectAtIndex:2];
3 移除对象
 [mutableArray removeObject:person];   [mutableArray removeObjectAtIndex:0];
4 顺序枚举遍历
  NSEnumerator *_enums = [mutableArray objectEnumerator];
5 倒序枚举遍历
   NSEnumerator *_reverseEnums = [mutableArray reverSEObjectEnumerator];
6 字符串和数组的转换
  NSArray *_strArray = [str componentsSeparatedByString:@" "];
  NSString *str = [_strMutableArray componentsJoinedByString:@" "];
//
//  main.m
//  OC-数组
//
//  Created by wangtouwang on 15/3/20.
//  Copyright (c) 2015年 wangtouwang. All rights reserved.
//

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

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // 不可变数组 NSArry
        NSLog(@"NSArry");
        Person *person = [Person new];
        person._name=@"JACK";
        
        //初始化
        NSArray *array1 = [[NSArray alloc] initWithObjects:@"jack",@"lucy",person, nil];
        NSLog(@"%@",array1);
        
        //枚举
        NSLog(@"枚举器法打印数组结果:");
        NSEnumerator *enums = [array1 objectEnumerator];
        id obj;
        while (obj=[enums nextObject]) {
            NSLog(@"%@",obj);
        }
        
        //快速枚举
         NSLog(@"快速枚举法打印数组结果:");
        for(id obj in array1){
            NSLog(@"%@",obj);
        }
        
        //下标便利
        NSInteger i = 2;
        id obj2 = [array1 objectAtIndex:i];
        NSLog(@"%@",obj2);
        
        //获取长度
        NSInteger count=[array1 count];
        NSLog(@"数组长度 %lu",count);
        i=0;
        for (i=0;i<count;i++) {
            NSLog(@"%@",[array1 objectAtIndex:i]);
        }
        
        //可变数组 NSMutableArray
        
        NSMutableArray *mutableArray  = [[NSMutableArray alloc] init];
        //增加
        [mutableArray addObject:@"JACK"];
         [mutableArray addObject:@"MOBILE"];
         [mutableArray addObject:@"TEL"];
        [mutableArray addObject:@"BOOK"];
        [mutableArray addObject:@"STUDENT"];
        [mutableArray addObject:person];
        NSLog(@"%@",mutableArray);
        
        //替换对象
         NSLog(@"替换对象");
        [mutableArray exchangeObjectAtIndex:0 withObjectAtIndex:2];
         NSLog(@"%@",mutableArray);
        
        //移除对象 参数 id类型
        NSLog(@"移除对象 参数 id类型");
        [mutableArray removeObject:person];
         NSLog(@"%@",mutableArray);
        //移除对象 参数 NSInteger
          NSLog(@"移除对象 参数 NSInteger");
        [mutableArray removeObjectAtIndex:0];
         NSLog(@"%@",mutableArray);
        
        //正序枚举遍历
         NSLog(@"正序枚举遍历");
        NSEnumerator *_enums = [mutableArray objectEnumerator];
        id obj3;
        while (obj3=[_enums nextObject]) {
             NSLog(@"%@",obj3);
        }
        //倒序枚举遍历  并且可以遍历时删除
         NSLog(@"倒序枚举遍历 并且可以遍历时删除");
        NSEnumerator *_reverseEnums = [mutableArray reverseObjectEnumerator];
        while (obj3=[_reverseEnums nextObject]) {
             NSLog(@"%@",obj3);
            [mutableArray removeObject:obj3];
        }
        NSLog(@"倒序枚举遍历结束 查看数组长度 %lu",[mutableArray count]);
        
        //字符串和数组的转换
        NSString *str = @"hello world hao are you";
        NSArray *_strArray = [str componentsSeparatedByString:@" "];
        NSLog(@"lenght = %lu",[_strArray count]);
        
        NSMutableArray *_strMutableArray = [[NSMutableArray alloc] init];
        NSEnumerator *_strEnums = [_strArray reverseObjectEnumerator];
        NSString *objstring ;
        while (objstring=[_strEnums nextObject]) {
            [_strMutableArray addObject:objstring];
        }
       NSLog(@"%@",_strMutableArray);
        
        str = [_strMutableArray componentsJoinedByString:@" "];
        NSLog(@"%@",str);
    }
    return 0;
}