//1、NSArray数组
#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
相关推荐
是个人iOS开发初期对数组操作所做的笔记整理,包含了大部分NSArray和NSMutableArray操作方法
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的数组比C++,Java的数组强大在于,NSArray保存的对象可以是不同的对象。但只能保存对象,int ,char,double等基本数据类型不能直接保存,需要通过转换成对象才能加入数组。
Objective-C中的类型推断 该项目包括几个宏和类类别,这些宏和类类别提供了有关编译器类型推断的提示。 从受Swift启发的简单let和var到替换for (in) {}循环的foreach () {}构造。 如果没有类型推断,则类型容易出错...
从 .net 框架切换到 Objective-C 时,我们错过的最重要的事情之一是中 Linq to Objects 扩展方法的集合。 当我们在上工作时,我们发现我们正在处理很多集合,就像我们曾经在 .net 中所做的那样。 在 Objective-C ...
Objective-C的基础通用支持。 包括OCGenerics.h 在NSArray中注册要使用的类 GENERIC ( NSString ) GENERIC( NSNumber ) 像这样声明一个伪造的NSMuatbleArray NSMutableArray ( NSString ) *strAry = [...
- (void)mutableArray:(NSMutableArray *)array willAddObjectsFromArray:(NSArray *)objects - (void)mutableArray:(NSMutableArray *)array didAddObjectsFromArray:(NSArray *)objects - (void)mutableArray:...
客观教学这是我在学习时编写的所有目标c教程代码#基本语法正常的printf操作NSlog示例autoRelease池示例#NSString操作NSString操作在这里NSRange示例NSMutableString示例#NSArray示例NSArray示例NSArray函数示例...
JJException 常见问题... 无法识别的选择器已发送给实例(方法不存在异常) NSNull(方法不存在异常) NSArray,NSMutableArray,NSDictonary,NSMutableDictionary(数组越界,键值参数异常) KVO(忘记删除keypath
Xcode 4.4确实支持NSNumber , NSArray和NSDictionary的新的现代Objective-C运行时功能。 除下标外的所有内容(如myArray[42]代替[myArray objectAtIndex:42]和myDict[@"name"]代替[myDict valueForKey:@"name"] )...
Swift数组是具体的。他不同于Objective-C的的NSArray和NSMutableArray里的类,它可以存储任何类型的对象,不提供有关它们返回的对象的性质的任何信息
TDSafeArray操作安全的NSArray与NSMutableArray扩展重写了NSArray与NSMutableArray的部分方法,防止越界问题,如果越界会返回空值。使用方法导入头文件#import "TDSafeArray.h"调用安全的数组操作方法NSArray *arr =...
我在四年的iOS开发中收集的关于基本obj-c类和摘要的有用类别的集合。 使用cocoapods安装: pod 'APUtils' APUtils.h + ( BOOL )canMakePhoneCalls; // one liner that dismisses the keyboard + ( void )...
HEIGHT当前设备屏幕的高度IPHONE_WIDTH当前设备屏幕的宽度kIsBangsScreen判断当前设备是否是刘海屏幕NSArray +崩溃主要是对NSArray , NSMutableArray一些数据安全做一层判断,降低因为数据异常导致崩溃的概率具体...
- (NSMutableArray*) findAll; - (BOOL) insert: (id) entity; - (BOOL) insertWithAutoIncrementPk:(id) entity; - (int) insertAll: (NSArray*) entities; - (BOOL) update: (id) entity; - (BOOL) ...
目前只是处理了NSArray、NSMutableArray、NSDictionary和NSMutableDictionary的部分成员方法,避免其因为操作失误造成Crash。可以在各个文件.m的crashSafe_*****方法里面收集Crash原因。 要使用这个功能,需要调用 ...
MLPickerScrollViewIntroduction:The easiest way... NSArray *titleArray = @[@"不打折",@"9折",@"8折",@"7折",@"6折",@"5折",@"4折",@"3折",@"2折",@"1折"]; for (int i = 0; i < titleArray.count; i++) { MLDemo
支持:(NSMutableDictionary,NSMutableArray,NSArray,NSDictionary,NSDate,NSData,NSString,NSNumber,Int,double,float,Bool,char)类型 灵活:支持使用Sqlite函数进行查询,支持忽略模型类属