`
R任轩
  • 浏览: 14811 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

Objective-C语法之NSArray和NSMutableArray

 
阅读更多

1、NSArray 不可变数组

[array count] : 数组的长度。
[array objectAtIndex 0]: 传入数组脚标的id 得到数据对象。
[arrayWithObjects; ...] :向数组对象初始化赋值。这里可以写任意对象的指针,结尾必须使用nil。

#import <Foundation/Foundation.h>

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

    @autoreleasepool {
        NSObject *obj = [[NSObject alloc]init];        
        NSArray *array = [NSArray arrayWithObjects:
                                   @"a",
                                    obj,
                                   @"c",nil];
        NSLog(@"array Count:%lu",[array count]);
        //遍历数组
        for (NSObject *object in array) {
            NSLog(@"数组对象:%@", object);
        }
        [obj release];
    }
 

    return 0;
}

 打印结果:

array Count:3
数组对象:a
数组对象:<NSObject: 0x7fe479c14110>
数组对象:c
 

2、NSMutableArray可变对象数组

[NSMutableArray arrayWithCapacity:6] :初始化可变数组对象的长度,如果后面代码继续添加数组超过长度6以后NSMutableArray的长度会自动扩充,6是自己可以设置的颗粒度。
[array addObject:...] : 向可变数组尾部添加数据对象。
[array addObjectsFromArray:..] :向可变数组尾部添加一个数组对象。

 普通使用:
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{
    @autoreleasepool {
        NSObject *obj = [[NSObject alloc]init];   
        
        NSMutableArray *muArray = [NSMutableArray arrayWithCapacity:6];
        [muArray addObject:@"对象1"];
        [muArray addObject:@"对象2"];
        [muArray addObject:@"对象3"];
        [muArray addObject:@"对象4"];
        [muArray insertObject:@"搅局的" atIndex:2];
        [muArray addObject:obj];
        for (NSObject * object in muArray) {
            NSLog(@"数组对象:%@", object);
        }    
        [obj release];
    }
    return 0;
}

 打印:

数组对象:
 数组对象:搅局的
 数组对象:对象3
 数组对象:对象4
 数组对象:<NSObject: 0x109714110> 

NSRange range = NSMakeRange(0,3); 设置一个范围为 0 到 3 之间。
[array removeObject:obj inRange:range] : 设置在一个范围内删除数据,如果这个范围内没有删除的这个对象则不会删除任何东西。例子中因为obj对象在 数组 0 到 3的范围内,所以obj就被删除掉了。

分享到:
评论

相关推荐

    Objective-C数组操作总结

    是个人iOS开发初期对数组操作所做的笔记整理,包含了大部分NSArray和NSMutableArray操作方法

    [Objective-c程序设计].杨正洪等.扫描版

    《Objective-C程序设计》(作者杨正洪、郑齐心、李建国)通过大量的实例系统地介绍了Objective-C语言的基本概念、语法规则、框架、类库及开发环境。读者在阅读本书后,可以掌握Objective-C语言的基本内容,并进行...

    Objective-C开发范例代码大全

    通过《Objective-C开发范例代码大全》成为开发专家!本书采用“先提出问题,后提 供解决方案”的方式讲解Objective-C编程中的核心内容,是iOS开发人员手中不可或缺的 参考指南。  本书作者Matthew Campbell在培训...

    VeritasKit:Lua 绑定Objective-C,实现了大部分Objective-C 特性

    支持新的Objective-C语法,如字面NSDictionary、字面NSArray、字面NSNumber,字面NSDictionary的语法与Objective-C不同,考虑lua语法; 支持枚举集合的语法(for-in 语法); 添加一些扩展,例如@array、@...

    Objective-C中NSArray的基本用法示例

    主要介绍了Objective-C中NSArray的基本用法示例,包括基本的排序等方法的介绍,需要的朋友可以参考下

    Objective-C---How-to-Create-And-Use-NSArray-Latest-2017-Hindi-:源代码-How to use the source code

    Objective-C-如何创建和使用NSArray最新2017-印地语- 视频:-Yogesh Patel在Objective-C中使用NSArray的介绍。 在本频道中,我将在多部视频中讲授大多数目标C编程语言。 一定要去MyChannel享受视频和不要忘记订阅我...

    NSArray_NSMutableArray

    Objective-C的数组比C++,Java的数组强大在于,NSArray保存的对象可以是不同的对象。但只能保存对象,int ,char,double等基本数据类型不能直接保存,需要通过转换成对象才能加入数组。

    Iphone数组一些基础操作 NSArray/NSMutableArray

    Iphone数组一些基础操作 NSArray/NSMutableArrayIphone

    斯坦福大学斯坦福大学教程2011秋.(3.Objective-C).pdf

    Software engineering,programming language,operating system,iOS,OS,iPhone,iPad objective c,cocoa touch,SDK,object oriented design,Apple,Macintosh,tools,language,runtime,Xcode,objective-...

    Objective-C 2.0程序设计

    前几天提前看到了新出的&lt;Objective-C 2.0 程序设计&gt;, 也就是&lt;Programming in Objective-C 2.0(Section Edition)&gt;的中文翻译版, 翻看了几章, 总体上感觉还是不错的. 翻译的质量我觉得比较满意吧. 个人觉得, 对一个还...

    Object-C语言教程&案例,要点难点,代码示例,代码解析

    基础语法:熟悉C语言基础是前提,Objective-C是在C语言的基础上增加了面向对象特性。 面向对象:理解类(Class)、对象(Object)、实例变量(Instance Variables)、方法(Methods)、继承(Inheritance)、封装...

    safely安全使用NSArray,NSMutableArray,NSDictionary,NSMutableDictionary,NSMutableString。-Swift开发

    FFSafeKit安全地使用NSArray,NSMutableArray,NSDictionary,NSMutableDictionary,NSMutableString。 功能安全访问NSArray安全访问NSDictionary安全访问并执行更改FFSafeKit安全地使用NSArray,NSMutableArray,...

    Objective-C机器学习框架YCML.zip

    YCML 是使用 Objective-C 编写的机器学习框架,也支持 Swift。当前提供以下算法:Gradient Descent Backpropagation [1]Resilient Backpropagation (RProp) [2]Extreme Learning Machines (ELM) [3]Forward ...

    探讨Swift数组和字典

    Swift数组是具体的。他不同于Objective-C的的NSArray和NSMutableArray里的类,它可以存储任何类型的对象,不提供有关它们返回的对象的性质的任何信息

    Typed:将类型推断带到Objective-C,几乎没有黑客

    Objective-C中的类型推断 该项目包括几个宏和类类别,这些宏和类类别提供了有关编译器类型推断的提示。 从受Swift启发的简单let和var到替换for (in) {}循环的foreach () {}构造。 如果没有类型推断,则类型容易出错...

    Funky:Funky是用Objective-C编写的功能实用程序库

    是Swift和Objective-C Cocoa项目的依赖项管理器。 您可以使用以下命令进行安装: $ sudo gem install cocoapods 要安装Funky,只需Podfile添加到Podfile : pod "FunkyObjC" 然后使用其中任何一个导入 # import ...

    Objective-C中NSNumber与NSDictionary的用法简介

    在Objective-c中有int的数据类型,那为什么还要使用数字对象NSNumber?这是因为很多类(如NSArray)都要求使用对象,而int不是对象。 NSNumber就是数字对象我们可以使用NSNumber对象来创建和初始化不同类型的数字...

    从Swift看Objective-C的数组使用1

    Objective C数组的内存布局要了解NSArray,NSSet,NSDictionary这些集合类的使法,我们需要先弄明其对应的内存布局(Memory L

Global site tag (gtag.js) - Google Analytics