zoukankan      html  css  js  c++  java
  • Objective-C基础夯实篇——集合的基本使用

    概述


    本基础夯实篇为本人学习iOS开发中的对基本语法知识的总结系列,不打算刨根问底,只求实用。本文夯实的内容是开发过程中经常要用到的集合类,由于缺乏项目经验,先对自认为经常会用到的一些基本语法做个总结。

    本文主要内容如下:

      1.NSArray

          2.NSMutableArray

          3.NSDictionary

    NSArray


    1.创建:常用的两种方法为如下形式。很需要注意的是:不同于Java,OC中的NSArray中的元素可以是不同的对象类型。

            id obj1 = [[NSObject alloc]init];
            id obj2 = @"hushunfeng";
            id obj3 = @"cmcc";
            
            NSArray *array = [NSArray arrayWithObjects:obj1,obj2,obj3,nil];
            //新语法
            NSArray *array2 = @[obj1,obj2,obj3];
    

     第一种定义方法是采用类方法来定义的,是array开头的,这个技巧要记住,也有用实例方法的init开头来定义的,在这里不介绍了。 

    2.元素的调用:也有两种方法比较常用。如下所示:

    //快速语法
    array[0]
    //
    [array objectAtIndex:0]

    3.使用for-in进行遍历:首先得熟悉for-in的用法。

    //在for-in中,代码格式为:
    for(id object in 实例对象) {
    //实例对象中的元素会自动遍历迭代后赋值给object
    }
    

    举个例子:

    NSArray *array = @[@"hu",@"shun",@"feng"];
    for (id object in array) {
        NSLog(@"%@",object);
    }
    

    NSMutableArray


    1.创建:常用的两种方法为如下形式。

     NSMutableArray *array3 = [NSMutableArray arrayWithObjects:@"HU", nil];
     NSMutableArray *array4 = [NSMutableArray arrayWithCapacity:10];
    

    2.添加元素的方法:

    [array3 addObject:@"shun"];
    

    3.其他查找相应的index元素的用法和NSArray是一样的。

    NSDictionary


    1.创建:有很多种不同的办法,在这里我们只介绍快速语法: @{key:value},通常情况key会以字符串的形式出现,value类型多样。

    2.通过key获取value:dict[key]

    注意:在字典中,key是不会重复的,value可能会有重复。这就决定了:无法通过value来获取key。

    举个例子:

    #import <Foundation/Foundation.h>
    
    int main(int argc, const char * argv[]) {
        @autoreleasepool {
            
            NSObject *obj1 = @"hushunfengLove";
            NSObject *obj2 = [NSNumber numberWithInt:1];
            
            NSDictionary *dic = @{@"name":obj1,@"age":obj2};
            
            NSLog(@"%@",dic[@"age"]);
            
            
        }
        return 0;
    }
  • 相关阅读:
    自旋锁和互斥锁区别
    NFS挂载Android文件系统
    查找文件命令
    make menuconfig出错解决方法
    专访Linux嵌入式开发韦东山操作系统图书作者--转
    Ubuntu进不入系统,一直停留在ubuntu图标画面(转)
    查看驱动打印信息
    aiku给你们最真心地学习建议--转
    SZ,RZ传送文件
    在Android下运行Linux平台编译的程序
  • 原文地址:https://www.cnblogs.com/hushunfeng/p/4592097.html
Copyright © 2011-2022 走看看