私の学士論文では、iOS 用の eLearning アプリを実装する必要があります。タイトルからわかるように、ドキュメント ディレクトリに 1 ~ 2 GB 近くのサイズのファイルをダウンロードする必要があります。私は iOS 開発に非常に慣れていないので、それをどのように処理できるかについてのあらゆるヒントをいただければ幸いです。
よろしくお願いします!
私の学士論文では、iOS 用の eLearning アプリを実装する必要があります。タイトルからわかるように、ドキュメント ディレクトリに 1 ~ 2 GB 近くのサイズのファイルをダウンロードする必要があります。私は iOS 開発に非常に慣れていないので、それをどのように処理できるかについてのあらゆるヒントをいただければ幸いです。
よろしくお願いします!
これはダウンロードに時間がかかる可能性が非常に高いため、 and を使用して非同期で行うことを強くお勧めしNSURLRequests
ますNSURLConnections
。
ただし、私の最大の懸念は、このダウンロードの純粋なサイズと、これが RAM に収まらない可能性が高いことです。そのため、このダウンロードは実際には思ったほど簡単ではない可能性があります。試してみることはできますが、可能であれば、これを複数のファイル/ダウンロードに分割することをお勧めします。
以前に書いたコードを見つけたら、すぐにコードを投稿します。
追加されたコード
まず、ダウンロードを行う必要があるクラスをNSURLConnectionDelegate
andにし`NSURLConnectionDataDelegate
ます。
次に、次のようにダウンロード要求を実装できます。
NSMutableData *linkData = [[NSMutableData alloc] init];
NSURLRequest *linkRequest = [[NSURLRequest alloc] initWithURL:youURL cachePolicy:NSURLRequestReloadRevalidatingCacheData timeoutInterval:10.0];
NSURLConnection *connect = [[NSURLConnection alloc] initWithRequest:linkRequest delegate:self];
変数linkData
は実際にはインターフェイス ファイルで宣言してから実装で割り当てる必要がありますが、簡潔にするために上記のように作成しました。
次に、呼び出される次のメソッドが必要です
-(void) connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
[linkData appendData:data];
}
-(void) connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{
// handle a fail
}
-(void) connectionDidFinishLoading:(NSURLConnection *)connection {
// do what you need when download finishes
}