创建数组NSArray与NSMutableArray(Objective-C 开发范例)
来源:互联网 发布:it会议 编辑:程序博客网 时间:2024/06/06 02:54
创建数组NSArray与NSMutableArray
问题
应用需要在列表中组织对象。
解决方案
Objective-C 提供了两个Foundation 类来创建对象列表,它们分别是NSArray 与NSMutableArray。如果列表不需要改变,那么请使用NSArray 类;如果要向数组添加和删除对象,那么请使用NSMutableArray 类。
说明
在Objective-C 中,数组的创建与其他对象类似:使用alloc 与init 构造函数,或者使用诸如arrayWithObjects:之类的便捷函数创建数组。如果使用NSArray 创建数组,那么一旦数组创建完毕,就无法再进行修改。使用NSMutableArray 创建的数组可以在后面修改。
下面的示例展示了如何创建字符串数组:
NSArray *listOfLetters = [NSArray arrayWithObjects:@"A", @"B", @"C", nil];
在使用arrayWithObjects:创建数组时,需要传递使用逗号分隔的对象列表并以nil 结束。该例使用了NSString 对象,但对于NSArray 与NSMutableArray 来说,可以使用任何对象,包括从自定义类实例化得来的对象。如果使用NSMutableArray,那么可以通过相同的构造函数来创建数组(NSMutableArray是NSArray 的子类)。如果后面还要向数组中添加对象,那么还可以通过alloc 与init 来创建NSMutableArray 对象。表3-1 列出了NSArray 与NSMutableArray 类的完整构造函数列表,程序清单3-1 列出了相关的代码。
代码
程序清单1-1 main.m
#import <Foundation/Foundation.h>int main (int argc, const char * argv[]){ @autoreleasepool { NSArray *listOfLetters1 = [NSArray arrayWithObjects:@"A", @"B", @"C", nil]; NSLog(@"listOfLetters1 = %@", listOfLetters1); NSNumber *number1 = [NSNumber numberWithInt:1]; NSNumber *number2 = [NSNumber numberWithInt:2]; NSNumber *number3 = [NSNumber numberWithInt:3]; NSMutableArray *listOfNumbers1 = [[NSMutableArray alloc] initWithObjects:number1, number2, number3, nil]; NSLog(@"listOfNumbers1 = %@", listOfNumbers1); id list[3]; list[0] = @"D"; list[1] = @"E"; list[2] = @"F"; NSMutableArray *listOfLetters2 = [[NSMutableArray alloc] initWithObjects:list count:3]; NSLog(@"listOfLetters2 = %@", listOfLetters2); } return 0;}
使用
要想使用上述代码,请从Xcode 构建并运行Mac 应用。通过日志查看每个数组的内容。接下来的攻略将会介绍如何引用这些数组元素,这样就可以将它们的内容打印到日志或是在程序的其他地方使用它们了。
- 创建数组NSArray与NSMutableArray(Objective-C 开发范例)
- 引用数组NSArray中对象与获取数组元素(Objective-C 开发范例)
- 数组NSArray遍历(Objective-C 开发范例)
- 数组NSArray排序(Objective-C 开发范例)
- Objective-C中数组(NSArray和NSMutableArray)常用用法
- Objective-c 数组对象 (NSArray 和 NSMutableArray)
- Objective-C学习-数组 NSArray 和 NSMutableArray
- Objective-c - NSArray(NSMutableArray)
- Objective-c - NSArray(NSMutableArray)
- Objective-c - NSArray(NSMutableArray)
- Objective-C----NSArray、NSMutableArray
- Objective-C NSArray & NSMutableArray
- Objective-C(十一、不可变数组NSArray,可变数组NSMutableArray)——iOS开发基础
- Objective-c 之数组NSArray 可变数组NSMutableArray
- Objective-C语法-数组NSArray和可变数组NSMutableArray
- Objective-c之NSArray(NSMutableArray)
- Objective-c之NSArray(NSMutableArray)
- Objective-C基础-NSArray & NSMutableArray
- 03-树1 树的同构
- 在linux下安装Redis
- RecycleView的滑动冲突问题,item间距问题,分页加载,快速回到顶部问题
- ionic3学习2(API)
- spring boot 跨域
- 创建数组NSArray与NSMutableArray(Objective-C 开发范例)
- Hacker News与Reddit的算法比较
- Handler(图片)
- AB1601低功耗时烧写代码注意事项
- servlet
- 1693 水群(最短路)
- [bzoj-4832][Lydsy2017年4月月赛]抵制克苏恩 题解
- 6.偏头痛杨的常见设计模式入门系列之命令模式篇
- android.view.InflateException: Binary XML file line #13: Error inflating class android.support.v7