NSArray 学习

//
//  NSSArrayStu.m
//  OC基础学习
//
//  Created by 麦子 on 15/4/2.
//  Copyright (c) 2015年 麦子. All rights reserved.
//

#import "NSSArrayStu.h"

@implementation NSSArrayStu

-(void) arrayStu
{
    
    NSLog(@"开始学习NSArray");
    
    /**** OC 这边的数组和Java的功能都是类似的,其中他的定义也有一个可变的一个不可变的。下面都是一些常用的数组的方法
     
     
     数组中不可以存放基本数据类型,只能存放类的实列(对象)。 如果需要讲基本数据类型,结构放入数组中,需要通过NSNumber,NSValue进行数据的封装。
     
     
     ***/
    
    /**数组的初始化*/
    NSArray *firstArray = [NSArray arrayWithObject:@"this is one"]; // 中文的话,需要转码
    NSLog(@"firstArray-%@",firstArray);
    
    // 多个元素初始化的时候,注意要nil作为数组的结束
    NSArray *secondArray = [NSArray arrayWithObjects:@"one",@"two",nil];
    NSLog(@"secondArray-%@",secondArray);
    
    // 已数组创建一个数组
    NSArray *thirdArray = [NSArray arrayWithArray:secondArray];  // 上面的都是创建一个新的数组
    NSLog(@"thirdArray--%@",thirdArray);
    
    
    
    /***数组中的常用的方法*/
    
    // 获取数组的元素的个数
    NSUInteger count = [secondArray count];
    NSLog(@"count--%ld",count);
    
    // 获取数组的对象
    NSString *str = [secondArray objectAtIndex:1];
    NSLog(@"----%@",str);
    
    // 追加数组
    NSArray  *array3 = [secondArray arrayByAddingObject:@"maizi"];
    NSLog(@"---%@",array3); // 一个新的数组
    
    // 把数组组成一个字符串
    NSString *str2 = [array3 componentsJoinedByString:@"#"];
    NSLog(@"----%@",str2);
    
    // 判断是否有这个对象
    BOOL  flag = [array3 containsObject:@"maizi"];
    NSLog(@"flag---%d",flag);
    
    // 找到这个对象的,在数组中的位置
    NSUInteger  index = [array3 indexOfObject:@"maizi"];
    NSLog(@"----%ld",index);
    
    // 找最后的一个
    NSString  *lastStr = [array3 lastObject];
    NSLog(@"---%@",lastStr);
    
    
    
    /****可变数组, NSArray的子类   这是在原来的基础上修改***/
    
    
    // 初始化    --- 默认空间,有优化
    NSMutableArray *nsarray = [NSMutableArray arrayWithCapacity:10];
    NSLog(@"----%@",nsarray);
    
    NSMutableArray *nsarray2 = [NSMutableArray arrayWithObjects:@"yes",@"no", nil];
    // 追加
    [nsarray2 addObject:@"OK"];
    NSLog(@"---%@",nsarray2);
    
    // 根据下标,添加对象
    [nsarray2 insertObject:@"fuck" atIndex:2];
    NSLog(@"---%@",nsarray2);
    
    // 根据下标和内容删除
    [nsarray2 removeObject:@"no"];
    NSLog(@"---%@",nsarray2);
    
    [nsarray2 removeObjectAtIndex:0];
    NSLog(@"---%@",nsarray2);
    
    // 删除最后一项
    [nsarray2 removeLastObject];
    NSLog(@"---%@",nsarray2);
    
    // 根据数组添加,删除
    NSArray *array5 = [NSArray arrayWithObjects:@"1",@"2",@"3", nil];
    [nsarray2 addObjectsFromArray:array5];
    NSLog(@"---%@",nsarray2);
    
    //[nsarray2 removeObjectsInArray:array5];
    //NSLog(@"----%@",nsarray2);
    
    //替换
    [nsarray2 replaceObjectAtIndex:0 withObject:@"shit"];
    NSLog(@"----%@",nsarray2);
    
    // 移除所有对象
    //[nsarray2 removeAllObjects];
    //NSLog(@"----%@",nsarray2);
    
    
    
    /**数组循环*/
    for(int i = 0; i<[nsarray2 count]; i++){
    
        NSString *str = [nsarray2 objectAtIndex:i];
        NSLog(@"---%@",str);
    
    }
    
    NSLog(@"--------------");
    
    
    for (NSString *str in nsarray2) {
        
        NSLog(@"---%@",str);
    }
    
}

@end
</pre><pre name="code" class="objc">
</pre><pre name="code" class="objc">打印结果如下:
<pre name="code" class="plain">

2015-04-15 23:46:40.596 OC基础学习[1137:73222] 开始学习NSArray

2015-04-15 23:46:40.598 OC基础学习[1137:73222] firstArray-(

    "this is one"

)

2015-04-15 23:46:40.598 OC基础学习[1137:73222] secondArray-(

    one,

    two

)

2015-04-15 23:46:40.598 OC基础学习[1137:73222] thirdArray--(

    one,

    two

)

2015-04-15 23:46:40.598 OC基础学习[1137:73222] count--2

2015-04-15 23:46:40.598 OC基础学习[1137:73222] ----two

2015-04-15 23:46:40.598 OC基础学习[1137:73222] ---(

    one,

    two,

    maizi

)

2015-04-15 23:46:40.598 OC基础学习[1137:73222] ----one#two#maizi

2015-04-15 23:46:40.598 OC基础学习[1137:73222] flag---1

2015-04-15 23:46:40.598 OC基础学习[1137:73222] ----2

2015-04-15 23:46:40.598 OC基础学习[1137:73222] ---maizi

2015-04-15 23:46:40.599 OC基础学习[1137:73222] ----(

)

2015-04-15 23:46:40.599 OC基础学习[1137:73222] ---(

    yes,

    no,

    OK

)

2015-04-15 23:46:40.599 OC基础学习[1137:73222] ---(

    yes,

    no,

    fuck,

    OK

)

2015-04-15 23:46:40.599 OC基础学习[1137:73222] ---(

    yes,

    fuck,

    OK

)

2015-04-15 23:46:40.599 OC基础学习[1137:73222] ---(

    fuck,

    OK

)

2015-04-15 23:46:40.602 OC基础学习[1137:73222] ---(

    fuck

)

2015-04-15 23:46:40.602 OC基础学习[1137:73222] ---(

    fuck,

    1,

    2,

    3

)

2015-04-15 23:46:40.602 OC基础学习[1137:73222] ----(

    shit,

    1,

    2,

    3

)

2015-04-15 23:46:40.602 OC基础学习[1137:73222] ---shit

2015-04-15 23:46:40.603 OC基础学习[1137:73222] ---1

2015-04-15 23:46:40.603 OC基础学习[1137:73222] ---2

2015-04-15 23:46:40.603 OC基础学习[1137:73222] ---3

2015-04-15 23:46:40.603 OC基础学习[1137:73222] --------------

2015-04-15 23:46:40.603 OC基础学习[1137:73222] ---shit

2015-04-15 23:46:40.603 OC基础学习[1137:73222] ---1

2015-04-15 23:46:40.603 OC基础学习[1137:73222] ---2

2015-04-15 23:46:40.604 OC基础学习[1137:73222] ---3

Program ended with exit code: 0



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值