Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在NSMutableArray中从循环添加NSString_Ios_Objective C_Nsstring_Nsmutablearray - Fatal编程技术网

Ios 如何在NSMutableArray中从循环添加NSString

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中添加NSString名称,但我不知道。 我从wamp服务器的url中获得了5个NSString名称,我想将这些名称添加到NSMutableArray中

这是我的代码,但不起作用!!!:

    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次?