nsarray改变元素值可以追加元素么

下次自动登录
现在的位置:
& 综合 & 正文
NSArray使用方法,数组遍历的几种方法,迭代器的用法
只允许装OC对象,并且不能装空值,空代表数组元素的结束
//创建一个空数组
NSArray *array = [NSArray array];
//创建有一个元素的数组
array = [NSArray arrayWithObject:@"123"];
//创建有 多个元素的数组
array = [NSArray arrayWIthObjects:@"a",@"b",nil ];//不能装nil空值,空值代表数组元素结束
//获取元素的个数
int count = [array count]; //和 count = array. 相同,都是调用get方法
//是否包含一个元素
- (bool) containsObject:(id)anO
返回最后一个元素
- (id) lasO
//获取index位置的元素
- (id) objectAtIndex:(NSUInteger)
//获取元素的位置
- (NSUInteger) indexOfObject:(id)anO
//在range范围内查找元素的位置
- (NSUInteger) indexofObject:(id)anObject inRange:(NSRange)
//比较两个集合内容是否相同
- (Bool) isEqualToArray:(NSArray *)otherA
//返回两个集合中第一个相同的对象元素
- (id) firstObjectCommonWithArray:(NSArray *)otherA
//让集合里面的所有元素都执行aSelector这个方法
- (void) makeObjectsPerformSelector:(SEL)aS
//让集合里面的所有元素都执行aSelector这个方法,给这个方法添加参数,但是只支持一个参数
- (void) makeObjectsPerformSelector:(SEL)aSelector withObject:(id)argument
//添加一个元素,返回一个新的数组(方法调用者本身没有发生变化)
- (NSArray *) arrayByAddingObject:(id)anObject
//添加otherArray的所有元素,返回一个新的NSArray(方法着本身没有改变)
- (NSArray *) arrayByAddingObjectsFromArray:(NSArray *) otherA
//截取range范围的数组
- (NSArray *) subarrayWithRange:(NSRenge)
//用separator做拼接符,拼接成一个字符串
- (NSString *) componentsJoinedByString:(NSString *)separator
//将NSArray持久化到文件中去
- (Bool) writeToFile:(NSString *)path atomically:(Bool)useAuxiliaryFile
数组的内存管理;
如果把一个对象放到一个数组里面,改对象的计数器加一。也就是说数组会对他做一次retain操作
数组被销毁([array ralease])的时,会对内部所有的元素都做一次release操作
void * :d代表指向任何类型的指针
数组遍历:
方法一:普通遍历
方法二:快速遍历
方法三:利用block遍历
方法四:利用迭代器
NSEnumerator迭代器:
集合的迭代器,可以用于遍历集合元素
NSArray 有相应的方法来获取迭代器
//获取一个正序遍历的迭代器
- (NSEnumerator *) objectE
//获取一个反序遍历的迭代器
- (NSEnumerator *) reverseObjectE
NSEnumerator的常用方法:
//获取下一个元素
- (id) nextO
//获取所有的元素
- (NSArray *) allObjects
demo代码如下:
Student.h文件内容:
#import &Foundation/Foundation.h&
@interface Student : NSObject
- (void)test2:(NSString *)
Student.m文件内容:
#import "Student.h"
@implementation Student
+ (id)student{
[[[Student alloc] init] autorelease];
-(void) test{
NSLog(@"%@ -&test",self);
-(void)test2:(NSString *)str{
NSLog(@" , str);
- (void)dealloc{
NSLog(@"%@ is destoryed", self);
[super dealloc];
void arrayCreate(){
//create a null array
NSArray *array = [NSArray array];
void arrayUse(){
NSObject *obj = [[NSObject alloc] init];
NSLog(@"obj:%@",obj);
NSArray *array = [NSArray arrayWithObjects:@"a", @"b",@"c", obj, nil];
NSString *last = [array lastObject];
NSLog(@"last :%@",last);
[obj release];
#pragma mark memory manager 数组的内存管理
void arrayMemory(){
Student *stu1 = [[Student alloc] init];
Student *stu2 = [[Student alloc] init];
Student *stu3 = [[Student alloc] init];
NSLog(@"stu1:%zi",[stu1 retainCount]); //1
NSArray *array = [[NSArray alloc] initWithObjects:stu1,stu2,stu3, nil];
NSLog(@"stu1:%zi",[stu1 retainCount]);//2
NSLog(@"array count: %zi",[array count]);
[array release];
[stu1 release];
[stu2 release];
[stu3 release];
#pragma mark 给数组里的元素 发送消息
void arrayMessage(){
Student *stu1 = [Student student];
Student *stu2 = [Student student];
Student *stu3 = [Student student];
NSArray *array = [[NSArray alloc] initWithObjects:stu1,stu2,stu3, nil];
// [array makeObjectsPerformSelector:@selector(test)];
//有参数,但是参数只能有一个
[array makeObjectsPerformSelector:@selector(test2:) withObject:@"123"];
#pragma mark 普通遍历
void arrayFor1(){
NSArray *array = [NSArray arrayWithObjects:@"1",@"2",@"3",nil];
int count = array.
for(int i=0; i& i++){
id obj = [array objectAtIndex:i];
NSLog(@", obj);
#pragma mark
void arrayFor2(){
NSArray *array = [NSArray arrayWithObjects:@"1",@"2",@"3",nil];
int count = array.
for(id obj in array){
NSLog(@", obj);
#pragma mark
利用block遍历
void arrayFor3(){
NSArray *array = [NSArray arrayWithObjects:@"1",@"2",@"3",nil];
[array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
NSLog(@"%zi-&%@",idx, obj);
*stop = YES; //改变外边的Bool,终止遍历
#pragma mark 利用迭代器
void arrayFor4(){
NSArray *array = [NSArray arrayWithObjects:@"1",@"2",@"3",nil];
NSEnumerator *enumerator = [array objectEnumerator];
//如果放到遍历之后,则取到空,原因是,遍历完了,就没值了
NSArray *array2 = [enumerator allObjects];
NSLog(@"array2:%@", array2);
//获取下一个需要遍历的元素
while (obj = [enumerator nextObject]) {
NSLog(@"obj=%@", obj);
int main(int argc, const char * argv[])
@autoreleasepool {
NSLog(@"------array create--------");
arrayCreate();
NSLog(@"------array use-----------");
arrayUse();
NSLog(@"------array memory manager----");
arrayMemory();
NSLog(@"------array message----------");
arrayMessage();
NSLog(@"------array for---------");
arrayFor1();
NSLog(@"------array for2--------");
arrayFor2();
NSLog(@"------array for3---------");
arrayFor3();
NSLog(@"------array for4---------");
arrayFor4();
&&&&推荐文章:
【上篇】【下篇】ios向数组中添加元素_ios+向数组中添加元素
ios+向数组中添加元素
以下内容已过滤百度推广
日&-&在数组中添加字符串对象 ios objective c iphone 在给nsmutablearray添加元素的时候,在第四行出现错误: -[__nsarrayi addobject:]: unrecognized sele...&&普通
日&-&ios可变数组添加元素 以及可变数组操作
16:59 3146人阅读 评论(0) 收藏 表扬 今天在项目工程中想往可变数组中添加从服务器获取的元素,我用...&&普通
最佳答案: nsmutablearray *muarray=[[nsmutablearray alloc]init]; for(int i = 0;i&=10;i++){ [muarray addobject:添加的字段] }&&百度知道
日&-&管理操作 在线会员 版块排行 帖子排行 标签排行 左右分栏 帮助 热门标签: 猴年發財 ios 开发 问题 app cocoachina >> swift >> 往数组里面添加不同元...&&普通
4天前&-&ios+向数组中添加元素 相关文章选相机买相机看相机笔记就购了 答疑、购买请加微信cameranote2 说完小蓝标(蔡司),咱们再来聊聊小红标(徕卡)。 在今天,蔡司已经...&&普通
日&-&相关知识库: react native ios 直播技术 敏捷 关注
findcaiyzh
findcaiyzh ...这样就可以循环的将数组中的元素添加到另外一个数组中了!数组一旦声明...&&普通
日&-&//需要去掉的元素数组 nsmutablearray *filteredarray = [[nsmutablearray ...添加字符串到nsmutable数组中将字符串切割成数组 componentsseparios中...&&普通
[专业]答案: ios类对象添加到可变数组中失败
ios开发如何通过for循环向一个数组里添加数据 6
ios数组在载入是添加了元素 之后再点击...更多关于ios 向数组中添加元素的问题&&&&专业问答网站
最佳答案: nsarray *arr = [nsarray arraywithobjects:@&aaa&,@&bbb&,@&ccc&, @&ddd&, @&eee&, nil];更多关于ios 向数组中添加元素的问题&&&&专业问答网站
最佳答案: 你添加到数组的时候,只是把数组的那个元素的内存地址给了a数组。你操作a里的元素的时候,实际上是对内存的操作,而a数组和b数组共享了那块内存,自然也就...更多关于ios 向数组中添加元素的问题&&&&专业问答网站
语义关联近似词猜&正规性45地理位置网址标题|网址|摘要F0略略分类信息&|&猜&非正规中略略略精确匹配1略略分类信息&|&猜&非正规中略略略精确匹配2略略分类信息&|&猜&非正规中略略略同义词3略略分类信息&|&猜&非正规中略略略同义词4略略分类信息&|&猜&非正规中略略略精确匹配5略略分类信息&|&猜&非正规中略略略精确匹配6略略分类信息&|&猜&非正规中略略略部分匹配7略略分类信息&|&猜&非正规中略略略精确匹配8略略分类信息&|&猜&非正规中略略略99略略分类信息&|&猜&非正规中略略略910
12时间限制猜&实时动态5相关检索词泛时效性8F1略略略略略略略略1略略略略略略略略2略略略略百度知道略略略3略略略略略略略略4略略略略略略略略5略略略略略略略略6略略略略略略略略7略略略略略略略略8略略略略略略略略9略略略略略略略略10
url2345摘要前标题后标题F2略略略略略正文略1略略略略略正文略2略略略略略略略3略略略略略正文略4略略略略略正文略5略略略略略正文略6略略略略略正文略7略略略略略正文略8略略略略略略略9略略略略略正文略10
123原创猜&网址形式6相关词猜&相似度F3略略略略主页次优先&|&子页内容充实略召回精确匹配1略略略略子页优先级较低略略精确匹配2略略略略子页优先级较低略略近义词匹配3略略略略子页优先级较低略召回近义词匹配4略略略略主页次优先&|&子页内容充实略略精确匹配5略略略略子页优先级较低略略精确匹配6略略略略主页次优先&|&子页内容充实略略D7略略略略主页次优先&|&子页内容充实略略精确匹配8略略略略子页优先级较低略略C9略略略略子页优先级较低略略C10如何判断NSArray中的对象中的元素是否存在
[问题点数:40分]
如何判断NSArray中的对象中的元素是否存在
[问题点数:40分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。IOS开发:NSArray详解_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
IOS开发:NSArray详解
上传于||文档简介
&&N​S​A​r​r​a​y​用​法​详​解
大小:1.19MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢NSArray可以追加元素么_百度知道}

我要回帖

更多关于 nsarray改变元素值 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信