2

私はobjective-cとiOSが初めてです。SimpleFTPSample を使用して、ファイルを ftp にアップロードおよびダウンロードするためのテスト アプリを作成しています。ftp で 2 つのファイルをアップロードする必要がありますが、SimpleFTPSample では 1 つしかアップロードできませんでした。では、ソース コードに何を追加する必要がありますか? 何らかのループがあるに違いないと思いますが、どこにあるのかわかりません...

これが私のコードです。 for() を追加しますが、それが間違っていることは知っていますが、アイデアはありません。助けてくれてありがとう。

success = (url != nil);

NSMutableArray *listFile = [[NSMutableArray alloc] initWithCapacity:2];
[listFile addObject:[[[NSBundle mainBundle]resourcePath]stringByAppendingPathComponent:@"1.txt"]];

[listFile addObject:[[[NSBundle mainBundle]resourcePath]stringByAppendingPathComponent:@"2.txt"]];


for (int i= 0; i <= 1; i++ ) {

    self.filePath = [listFile objectAtIndex:i];

url = [NSURL URLWithString:@"ftp://anonymous@ftp"];


    url = CFBridgingRelease(
                            CFURLCreateCopyAppendingPathComponent(NULL, (__bridge CFURLRef) url, (__bridge CFStringRef) [self.filePath lastPathComponent], false));
    //                           );
    success = (url != nil);


    self.ftpFileStream = [NSInputStream inputStreamWithFileAtPath:_filePath];
    assert(self.ftpFileStream != nil);

    [self.ftpFileStream open];

    self.ftpNetworkStream = CFBridgingRelease(
                                              CFWriteStreamCreateWithFTPURL(NULL, (__bridge CFURLRef) url)
                                              );
    assert(self.ftpNetworkStream != nil);
    self.ftpNetworkStream.delegate = self;


    [self.ftpNetworkStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
        [self.ftpNetworkStream open];

    }

}
4

1 に答える 1

3

他の効率的な方法で、複数のファイルのアップロード タスクを実行できると思います。

1) AFネットワーキングの使用

もう1つのオプションは

2) ASIHTTPRequest のASINetworkQueue

注: ASIHTTPRequest はもはや維持されていません...幸せなコーディング:)

于 2013-01-22T11:06:49.620 に答える