Ios 如何在NSMutableArray中从循环添加NSString
我想在NSmutableArray中添加NSString名称,但我不知道。 我从wamp服务器的url中获得了5个NSString名称,我想将这些名称添加到NSMutableArray中 这是我的代码,但不起作用!!!:Ios 如何在NSMutableArray中从循环添加NSString,ios,objective-c,nsstring,nsmutablearray,Ios,Objective C,Nsstring,Nsmutablearray,我想在NSmutableArray中添加NSString名称,但我不知道。 我从wamp服务器的url中获得了5个NSString名称,我想将这些名称添加到NSMutableArray中 这是我的代码,但不起作用!!!: NSMutableArray *file; for (int j=0; j < 5; j++) { NSString *fileName = [[NSString alloc]initWithContentsOfURL:[NSURL URLWith
NSMutableArray *file;
for (int j=0; j < 5; j++) {
NSString *fileName = [[NSString alloc]initWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://192.168.1.101/janatan/filemanager.php?dir=root&file=%d&name",j]]];
NSLog(@"%@",fileName);
[file addObject:fileName] //right???
}
NSMutableArray*文件;
对于(int j=0;j<5;j++){
NSString*fileName=[[NSString alloc]initWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@]http://192.168.1.101/janatan/filemanager.php?dir=root&file=%d&name“,j]];
NSLog(@“%@”,文件名);
[文件添加对象:文件名]//对吗???
}
您没有分配NSMutableArray
NSMutableArray *file = [[NSMutableArray alloc] initWithCapacity:5];
如果您不确定预先添加到数组中的元素数,可以使用
NSMutableArray *file = [[NSMutableArray alloc] init];
首先,必须分配
NSMutableArray
第二,必须避免使用
其次,应该通过替换来提高代码的可读性
NSString *fileName = [[NSString alloc]initWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://192.168.1.101/janatan/filemanager.php?dir=root&file=%d&name",j]]];
去更方便的地方。此外,这里的内存已分配,但从未释放
您的代码可能如下所示:
const int numberOfFiles = 5;
NSMutableArray *file = [NSMutableArray array]
for(int i = 0; i < numberOfFiles; ++i){
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://192.168.1.101/janatan/filemanager.php?dir=root&file=%d&name", i]];
NSString *fileName = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
[file addObject:fileName];
}
const int numberOfFiles=5;
NSMutableArray*文件=[NSMutableArray]
对于(int i=0;i
但我们可以发现一些问题。
例如,如果在服务器端更改了url,则需要重写代码。如果元素的数量改变了,它是相同的。因此,找到一种避免这种依赖的方法是很好的。alloc]init];您的NSMutableArray。是否要添加相同的文件名5次?