nsmutablearray

如何在Objective-C中反转NSArray?

落爺英雄遲暮 提交于 2020-03-01 21:16:01
我需要扭转我的 NSArray 。 举个例子: [1,2,3,4,5] 必须成为: [5,4,3,2,1] 实现这一目标的最佳方法是什么? #1楼 试试这个: for (int i = 0; i < [arr count]; i++) { NSString *str1 = [arr objectAtIndex:[arr count]-1]; [arr insertObject:str1 atIndex:i]; [arr removeObjectAtIndex:[arr count]-1]; } #2楼 至于我,您是否考虑过首先如何填充阵列? 我正在将MANY对象添加到数组中,并决定在开头插入每个对象,将任何现有对象向上推一个。 在这种情况下,需要一个可变数组。 NSMutableArray *myMutableArray = [[NSMutableArray alloc] initWithCapacity:1]; [myMutableArray insertObject:aNewObject atIndex:0]; #3楼 如果你想做的只是反向迭代,试试这个: // iterate backwards nextIndex = (currentIndex == 0) ? [myArray count] - 1 : (currentIndex - 1) % [myArray count

数组的简单方法

微笑、不失礼 提交于 2020-03-01 03:58:17
注:在Object C中使用NSArray 来创建数组;但是在Object C中NSArray 只能存放对象类型的指针,不能存放int,char,double等基本数据类型。    一. 不可变数组对象     这个和之前的NSString有些类似,NSArray 能够创建不可变的数组对象。一旦初始化这个对象就不能动态的修改和增加这个数组。     (1)使用arrayWithObjects来初始化数组内容,参考如下代码: NSArray *items=[NSArray arrayWithObjects:@"abc",@"cdf"];     上面初始化了一个items数组对象,但是值得注意的是,这段代码会报错,在Object C中数组对象的创建有个特殊的地方,就是最后一个元素必须是nil,这意味着使用nil来标识数组对象的结束。正确的方式如下: NSArray *items=[NSArray arrayWithObjects:@"abc",@"cdf",nil];     (2)可以使用count方法来获取数组的长度 NSArray *items=[NSArray arrayWithObjects:@"abc",@"cdf",nil]; NSLog(@"%d",[items count]);     以上代码得到的值是2,还是3呢,一般人都会认为是3,但是这个数组的长度是2

NSString+NSMutableString+NSValue+NSAraay的用法汇总!!

不想你离开。 提交于 2020-02-26 23:01:14
http://www.devdiv.com/home.php?mod=space&uid=65125&do=blog&id=3068 NSString+NSMutableString+NSValue+NSAraay的用法汇总!! 已有 208 次阅读 2011-3-4 13:16 | 个人分类: 技术 | 开发过程中难免遇到字符串操作,下面是NSString+NSMutableString+NSValue+NSAraay的用法汇总,帮你应对各种字符串操作:(可能先前有日志发过NSArray之类的,不过这更全面) //一、NSString /*----------------创建字符串的方法----------------*/ //1、创建常量字符串。 NSString *astring = @"This is a String!"; //2、创建空字符串,给予赋值。 NSString *astring = [[NSString alloc] init]; astring = @"This is a String!"; NSLog(@"astring:%@",astring); [astring release]; //3、在以上方法中,提升速度:initWithString方法 NSString *astring = [[NSString alloc] initWithString

NSString+NSMutableString+NSValue+NSAraay用法汇总

旧时模样 提交于 2020-02-26 22:59:45
开发过程中难免遇到字符串操作,下面是为您总结的NSString+NSMutableString+NSValue+NSAraay用法汇总,帮您应对各种字符串操作。 //一、NSString /*—————-创建字符串的方法—————-*/ //1、创建常量字符串。 NSString *astring = @”This is a String!”; //2、创建空字符串,给予赋值。 NSString *astring = [[NSString alloc] init]; astring = @”This is a String!”; NSLog(@”astring:%@”,astring); [astring release]; //3、在以上方法中,提升速度:initWithString方法 NSString *astring = [[NSString alloc] initWithString:@”This is a String!”]; NSLog(@”astring:%@”,astring); [astring release]; //4、用标准c创建字符串:initWithCString方法 char *Cstring = “This is a String!”; NSString *astring = [[NSString alloc] initWithCString

NSString+NSMutableString+NSValue+NSAraay用法汇总

狂风中的少年 提交于 2020-02-26 14:05:07
(转自: http://www.cocoachina.com/iphonedev/sdk/2010/0607/1634.html ) //一、NSString /*----------------创建字符串的方法----------------*/ //1、创建常量字符串。 NSString *astring = @"This is a String!"; //2、创建空字符串,给予赋值。 NSString *astring = [[NSString alloc] init]; astring = @"This is a String!"; NSLog(@"astring:%@",astring); [astring release]; //3、在以上方法中,提升速度:initWithString方法 NSString *astring = [[NSString alloc] initWithString:@"This is a String!"]; NSLog(@"astring:%@",astring); [astring release]; //4、用标准c创建字符串:initWithCString方法 char *Cstring = "This is a String!"; NSString *astring = [[NSString alloc]

NSString+NSMutableString+NSValue+NSAraay用法汇总

寵の児 提交于 2020-02-26 14:04:32
arthurchen 2010-06-05 18:13 NSString+NSMutableString+NSValue+NSAraay用法汇总 默认分类 2009-11-25 11:47 阅读18 评论0 字号: 大 中 小 /******************************************************************************************* NSString *******************************************************************************************/ //一、NSString /*----------------创建字符串的方法----------------*/ //1、创建常量字符串。 NSString *astring = @"This is a String!"; //2、创建空字符串,给予赋值。 NSString *astring = [[NSString alloc] init]; astring = @"This is a String!"; NSLog(@"astring:%@",astring); [astring release]; //3、在以上方法中,提升速度:initWithString方法

NSMutableArray does not add objects [duplicate]

天大地大妈咪最大 提交于 2020-02-22 06:48:06
问题 This question already has answers here : NSMutableArray addObject not working (3 answers) Cannot add object to an NSMutableArray array (2 answers) Closed 6 years ago . I think, I am doing a pretty basic mistake, but I am using an NSMutableArray and this somehow doesn't add the object, I'm sending it its way. I have a property (and synthesize) @property (nonatomic, strong) NSMutableArray *kpiStorage; and then: ExampleObject *obj1 = [[ExampleObject alloc] init]; [kpiStorage addObject:obj1];

NSMutableArray does not add objects [duplicate]

点点圈 提交于 2020-02-22 06:45:53
问题 This question already has answers here : NSMutableArray addObject not working (3 answers) Cannot add object to an NSMutableArray array (2 answers) Closed 6 years ago . I think, I am doing a pretty basic mistake, but I am using an NSMutableArray and this somehow doesn't add the object, I'm sending it its way. I have a property (and synthesize) @property (nonatomic, strong) NSMutableArray *kpiStorage; and then: ExampleObject *obj1 = [[ExampleObject alloc] init]; [kpiStorage addObject:obj1];

unrecognized selector sent to instance

帅比萌擦擦* 提交于 2020-02-20 15:58:26
[iOS] Error Fixed : [__NSArrayI addObject:]: unrecognized selector sent to instance 当我创建了一个NSMutableArray 对象的时候 @property ( nonatomic , copy ) NSMutableArray *children; 然后通过addObject运行就会报错,[__NSArrayI addObject:]: unrecognized selector sent to instance 解决方式: 1、通过理解,我们知道addObject后的array其实是变了,可能内存变大了,你可以理解成这个对象已经不是原来的了,就相当于没有定义一个具体实例对象一样。但通过@synthesize 默认的setter不能保证copy就一定等于mutableCopy;所以我们需要自定义自己的setter方法。 例如我的定义,在.m中增加我们自己定义的setter方法,让它进行mutableCopy即可。 -( void )setChildren:( NSMutableArray *) array{ if ( children != nil ) { children = nil ; } children = [array mutableCopy ]; } 2、把copy变成retain

iOS 瀑布流的简单实现 UICollectionView

别来无恙 提交于 2020-02-13 03:46:00
UICollectionView 瀑布流的简单实现 UICollectionView 比 tableView 灵活,功能也强大很多。系统实现了流式布局,但用处还有很多限制。 要想实现更灵活的布局,就咬重写UICollectionViewLayout。 Demo地址: WaterfallCollectionLayout 先看下实现效果: 废话不多说,直接上代码: 先看WaterfallCollectionLayout.m #import "WaterfallCollectionLayout.h" #define colMargin 5 #define colCount 4 #define rolMargin 5 @interface WaterfallCollectionLayout () //数组存放每列的总高度 @property(nonatomic,strong)NSMutableArray* colsHeight; //单元格宽度 @property(nonatomic,assign)CGFloat colWidth; @end 该类要重写以下方法: //完成布局前的初始工作 -(void)prepareLayout; //collectionView的内容尺寸 -(CGSize)collectionViewContentSize; //为每个item设置属性 -