use*_*485 29 objective-c nsmutablearray
我这样做:
for(int i=0;i>count;i++)
{
NSArray *temp=[[NSArray alloc]initWIthObjects]i,nil];
NSLog(@"%i",temp);
}
Run Code Online (Sandbox Code Playgroud)
它返回给我0,1,2,3 ....逐个计数,但我想要一个附加这些值{0,1,2,3,4,5 ...}的数组.这不是什么大问题,但我找不到它.我是iPhone新手.
vod*_*ang 66
NSMutableArray *myArray = [NSMutableArray array];
for(int i = 0; i < 10; i++) {
[myArray addObject:@(i)];
}
NSLog(@"myArray:\n%@", myArray);
Run Code Online (Sandbox Code Playgroud)
Sha*_*rog 12
由于以下几个原因,此代码没有按照您的要求执行操作:
NSArray不是一个"可变"类,这意味着它不是设计为在创建之后进行修改.可变版本NSMutableArray,允许您追加值.
您不能添加像元int到NSArray或NSMutableArray类; 他们只持有物品.该NSNumber课程专为这种情况而设计.
每次分配数组时都会泄漏内存.始终将每个呼叫alloc与匹配的呼叫配对release或autorelease.
你想要的代码是这样的:
NSMutableArray* array = [[NSMutableArray alloc] init];
for (int i = 0; i < count; i++)
{
NSNumber* number = [NSNumber numberWithInt:i]; // <-- autoreleased, so you don't need to release it yourself
[array addObject:number];
NSLog(@"%i", i);
}
...
[array release]; // Don't forget to release the object after you're done with it
Run Code Online (Sandbox Code Playgroud)
我给你的建议是阅读Cocoa基础指南,了解一些基础知识.
| 归档时间: |
|
| 查看次数: |
75403 次 |
| 最近记录: |