`
gkuiyj
  • 浏览: 90779 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Objective-C个人学习系列(2) NSArray NSMutableArray

 
阅读更多

//1NSArray数组

#import <Foundation/Foundation.h>

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

    @autoreleasepool {

        //初始化

        //定义一个不可变数组 //并且初始化

        NSArray* array0 = [[NSArray alloc] init] ;

        

        //通过若干个对像初始化数组

        NSArray* array1 = [[NSArray alloc] initWithObjects:@"小明",@"小刚",@"小强",nil];

        

        //根据已经存在的一个数组创建一个新的数组//新数组的内容与原来数组的内容一样

        NSArray* array2 = [[NSArray alloc] initWithArray:array1];

        

        NSString* str = (NSString*)array1[0] ;

        

        for (int i = 0; i < [array1 count]; i++)

        {

            //通过索引来取得数组中的相应对象

            //参数为获得元素在数组中的索引

            //返回值为一个id类型范型指针

            NSString* strName = [array1 objectAtIndex:i] ;

            NSLog(@"strName = %@",strName) ;

        }

        

        //快速遍历循环语法

        //第一个变量为指针对象类型

        //可以使用id类型来接受

        //in后的参数二表示集合类型

        //数组,集合,字典

        //不能对遍历的集合进行做增加或删除操作

        for (id pStr in array1)

        {

            NSString* str = (NSString*) pStr ;

            

            NSLog(@"str = %@",str);

        }

        //查找数组中是否包含某个元素

        BOOL isHas = [array1 containsObject:@"小明"];

        

        if (isHas) {

            NSLog(@"小明在数组中!!");

        }

        

        //返回数组中的最后一个元素

        NSString* strLast = [array1 lastObject] ;

        

        NSLog(@"strLast = %@",strLast) ;

        

        NSString* strFirst = [array1 objectAtIndex:0] ;

    }

    

    return 0;

}

 

//2、可变数组NSMutableArray

#import <Foundation/Foundation.h>

 

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

{

 

    @autoreleasepool

    {

        NSInteger iValue = 10 ;

        

        //通过类方法返回一个初始化好的一个可变数组对象

        NSMutableArray* mArray = [NSMutableArrayarray] ;

        

        //[mArray addObject:iValue] ;

    

        //通过预先分配内存大小的方式创建动态数组

        NSMutableArray* mArray2= [NSMutableArrayarrayWithCapacity:10] ;

        //用一个对象初始化数组

        NSMutableArray* mArray3 = [NSMutableArrayarrayWithObject:@"123"] ;

        

        mArray3 = [NSMutableArray arrayWithObjects:@"123", nil];

        //通过数组来初始化对象

        NSMutableArray* mArray4 = [NSMutableArray arrayWithArray:mArray3] ;

        

        //像数组中添加对象,参数为指针对象

        [mArray addObject:@"111"] ;

        [mArray addObject:@"222"] ;

        [mArray addObject:@"333"] ;

        [mArray addObject:@"111"] ;

 

        

        NSLog(@"mArray = %@",mArray) ;

        

//        //删除索引为0的元素

       [mArray removeObjectAtIndex:0] ;

//        NSLog(@"mArray = %@",mArray) ;

//        

//        //删除最后一个元素

        [mArray removeLastObject] ;

//        NSLog(@"mArray = %@",mArray) ;

        [mArray removeObject:@"111"] ;

        NSLog(@"mArray = %@",mArray) ;

 

        //替换索引位置的元素

        [mArray replaceObjectAtIndex:0withObject:@"555"] ;

        NSLog(@"mArray = %@",mArray) ;

        // insert code here...

        NSLog(@"Hello, World!");

        

        

        NSMutableArray* arrayNum = [NSMutableArrayarray] ;

        

        for (int i = 0;  i < 10; i++)

        {

            //随机产生整数

            NSInteger value = arc4random() % 100 ;

            

            NSNumber* num = [NSNumber numberWithInteger:value] ;

            

            [arrayNum addObject:num] ;

        }

        

        for (id num in arrayNum)

        {

            NSNumber* numValue = (NSNumber*)num ;

            

            NSLog(@"value = %@",numValue) ;

        }

        

        

    }

    return 0;

}

//字符串分割与连接

#import <Foundation/Foundation.h>

 

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

    @autoreleasepool {

    NSString* str = @"one,two,three,four,five";

        

    //分割字符创为数组,下例以分割

    NSArray* array = [str componentsSeparatedByString:@","];

    for(NSString* obj in array)

    {

        NSLog(@"%@", obj);

    }

    

    //链接字符串,下例以空格连接

    str = [array componentsJoinedByString:@" "];

    NSLog(@"%@", str);

    

    

    }

    return 0;

 

}

 

更多内容参考官方文档:https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSMutableArray_Class/Reference/Reference.html

分享到:
评论

相关推荐

    Learn Objective-C 中文版 v2

    这个"Learn Objective-C 中文版 v2"的学习资源可能是针对那些希望深入理解Objective-C语言特性和编程实践的开发者设计的。下面我们将详细探讨Objective-C的关键知识点。 1. **面向对象编程基础**: - **类与对象**...

    Object-C语言教程:Objective-C 简介

    Objective-C是一种主要应用于苹果操作系统上的编程语言,它是C语言的一种扩展,支持面向对象编程特性。Objective-C最初由Pike International公司的Brad Cox和Tom Love于1983年设计,并在1986年由NEXTSTEP系统引入。...

    Objective-C Fundamentals

    Objective-C提供了多种集合类,如数组(NSArray、NSMutableArray)、字典(NSDictionary、NSMutableDictionary)和集合(NSSet、NSMutableSet)。这些集合类允许开发者以不同的方式存储和管理数据集合。 在构建自己...

    Objective-C基础教程(第2版)-有目录

    这份"Objective-C基础教程(第2版)"将帮助初学者全面掌握Objective-C语言的基础知识,为开发iOS和macOS应用程序打下坚实的基础。通过深入学习,开发者将能够利用Objective-C的灵活性和强大功能,创建出功能丰富、...

    Objective-C Succinctly.pdf

    - **目标读者**:本书适合初学者以及有一定基础的开发者学习Objective-C语言。 #### 三、安装与配置 - **安装步骤**: - 安装Xcode:Objective-C的主要开发环境为Xcode,它是苹果官方提供的集成开发环境(IDE),...

    Objective-C数组操作总结

    Objective-C提供了两个数组类:NSArray和NSMutableArray。NSArray用于创建不可变数组,而NSMutableArray则提供了修改数组内容的方法。以下是Objective-C中数组操作的详细知识点总结: 1. **创建数组**: - 使用`...

    Objective-C培训资料

    Objective-C是一种用于苹果iOS和Mac OS X应用程序开发的面向对象...通过这一系列的系统学习,学员们能够熟练使用Objective-C完成从基础的程序构建到高级功能的开发,同时也能更好地理解与运用面向对象编程的相关概念。

    Effective Objective-C 2.0 中文版.zip

    6. **集合类(Collection Classes)**:如NSArray、NSMutableArray、NSDictionary、NSMutableDictionary等,理解它们的线程安全性和遍历方式对于编写高效代码至关重要。 7. **自动引用计数(ARC,Automatic ...

    objective-c 2.0 课后习题答案

    Objective-C 2.0 是苹果公司为iOS和Mac OS X操作系统开发的一种面向对象的编程语言,它是C语言的超集,融入了Smalltalk的特性。本资料主要关注的是Objective-C 2.0的课后习题解答,这些习题旨在帮助学习者深入理解...

    objective-c

    Objective-C是一种面向对象的编程语言,它是C语言的超集,添加了Smalltalk风格的消息传递机制,主要用于开发苹果平台上的应用程序,包括iOS和macOS。Objective-C是在20世纪80年代由Stepanov和Moss在施乐帕洛阿尔托...

    Objective-C基础知识及简介.docx

    Objective-C不仅保留了C语言的所有功能,还引入了许多新的概念和技术,使得开发者能够更加高效地构建复杂的应用程序。 #### 二、面向对象基础 Objective-C作为一种典型的面向对象语言,支持类(Class)、对象(Object...

    objective-c教程

    通过学习这些资料,你可以深入理解Objective-C的基础概念、语法特性以及在实际开发中的应用。 1. **基础概念**: - Objective-C是在C语言基础上扩展的,它引入了消息传递机制,使得面向对象编程更为灵活。 - `#...

    Objective-C入门指南

    2. `NSArray` 和 `NSMutableArray`:不可变和可变数组,用于存储对象序列。 3. `NSDictionary` 和 `NSMutableDictionary`:不可变和可变字典,用于存储键值对。 4. `NSString`:不可变字符串类,提供字符串操作。 5....

    Objective-C新手入门

    Objective-C是一种强大的面向对象的编程语言,主要用于Apple...通过阅读《Objective-C for Absolute Beginners》这本书,你可以更系统地学习Objective-C,掌握iOS或macOS开发的基本技能,逐步成长为一名熟练的开发者。

    objective-C教程

    Objective-C的起源可追溯到C语言,它在C的基础上添加了Smalltalk风格的消息传递机制,使得程序设计更加灵活和动态。在Objective-C中,类是主要的构建块,它们定义了对象的行为和属性。类通过继承、封装和多态等面向...

    Using Swift with Cocoa and Objective-C

    - **集合类**:Swift的数组和字典类型可以与Objective-C的`NSArray`、`NSMutableArray`、`NSDictionary`和`NSMutableDictionary`相互转换。 - **Foundation数据类型**:Swift可以使用Foundation框架中的数据类型。...

Global site tag (gtag.js) - Google Analytics