iPhoneでhttpにてXMLファイルを取得し、

ローカル保存するコードを教えてください。

回答の条件
  • URL必須
  • 1人1回まで
  • 登録:
  • 終了:2010/01/13 22:39:07
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:australiagc No.1

回答回数467ベストアンサー獲得回数90

ポイント60pt

XMLに限らず、ファイルのダウンロードはNSURLConnectionを使って行います。

これはエクステンドして自分のダウンロード専用クラスを作成した方が良いでしょう。

MacにはNSURLDownloadというドンピシャなクラスがありますが、残念ながらこれはiPhoneでは使えないので。

これはAPIドキュメントにもサンプルがありますよ。

http://developer.apple.com/mac/library/DOCUMENTATION/Cocoa/Conce...


次に、ファイルの保存はNSFileManagerの[createFileAtPath]を使います。

http://www.powenko.com/blog/?p=33


基本的な流れは、

1. NSURLConnectionと、後々ファイルに保存するためのデータを一時的に保管するためのNSMutableDataを作成する

2. NSURLConnectionが取得したデータをdidReceiveDataイベントで[NSMutableData appendData:]を使って付随していく

3. connectionDidFinishLoadingイベントで、完成したNSMutableDataを、[NSFileManager createFileAtPath: contents: attributes:]で保存する

といったかんじですね。


分からない点があったら質問してください。

コメント欄で回答しますので。

id:yellowberry

できました!ありがとうございます。

at a minimum, implements the following delegate methods: connection:didReceiveResponse:, connection:didReceiveData:, connection:didFailWithError: and connectionDidFinishLoading:.

ですね。

2010/01/13 22:38:22
  • id:australiagc
    はい、その通りです。
    無事にできて良かったです(^^)
    CocoaはC#なんかと比べて使いずらいですが、頑張ってください。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません