NSArray,NSMutableArray的使用与内存问题

本文探讨了使用Objective-C创建NSArray的不同方法及其对内存管理的影响。详细分析了三种创建NSArray的方法,并对比了它们在retainCount属性上的差异,从而揭示了潜在的内存泄漏风险及程序稳定性问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一种: 1. FirstArray = [[NSArray arrayWithObjects: 2. @"a", 3. @"b", 4. @"c",nil] retain]; 5. NSLog(@"FirstArray%d",[FirstArray count]); 6. NSLog(@"FirstArray%d",[FirstArray retainCount]); 此方式返回的retainCount为2,程序难免会leak,不过一般也不会,小心为好。 第二种: 1. FirstArray = [NSArray arrayWithObjects: 2. @"a", 3. @"b", 4. @"c",nil]; 5. NSLog(@"FirstArray%d",[FirstArray count]); 6. NSLog(@"FirstArray%d",[FirstArray retainCount]); 此方式返回的retainCount为1,但后面用到时,程序会Crash。 第三种: 1. NSArray *First = [[NSArray alloc] initWithObjects: 2. @"a", 3. @"b", 4. @"c",nil]; 5. self.FirstArray=First; 6. [First release]; 7. NSLog(@"FirstArray%d",[FirstArray count]); 8. NSLog(@"FirstArray%d",[FirstArray retainCount]); 此方式返回的retainCount为1,程序正常运行,不会leak...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值