クロノプリンター 540 - tag-ami.co.jp · TAG Heuer Timing Page 8 / 37 4. メニュー画面のののの主主主主ななななコマンドコマンドのののの構図構図
Three20のTTURLRequest
-
Upload
wataru-kimura -
Category
Technology
-
view
1.339 -
download
1
description
Transcript of Three20のTTURLRequest
Three20のTTURLRequestキャッシュでオフライン利用
Cocoa勉強会�#33�/�2009.04.11�(土)�/�⽊村渡
Powered�by�Rabbit�0.5.9�and�COZMIXNG
今⽇もライブラリの紹介
iPhoneアプリ
ネットワークを活用するもの多い
オフラインでも使いたいよね!
自分で作るときはどうする?
今⽇は、URLアクセスをキャッシュする話
で、
The�Three20�Project
The�Three20�Project
作者:�Joe�Hewit
iPhone�OS用
Apache�License�2.0
http://joehewitt.com/post/the-three20-project/
The�Three20�Project
いろいろな機能
サンプルのTTCatalog
The�Three20�Porject
TTURLRequest
キャッシュ機能のあるURLアクセス
キャッシュをファイルとして保存し、オフラインでも利用可能
サンプル
Cache.xcodeproj
http.rb
デモ
デモ
2回め以降のアクセスはキャッシュ利用
httpサーバが落ちててもデータが表⽰できる
Three20のプロジェクトへの組み込み
README.mdown参照
個別でなく、まるごと組み込むのが簡単
(くわしくはあとで書く)
TTURLRequestを利用したアクセス
URLへの要求
TTURLRequest
応答の処理
TTURLDataResponse
TTURLImageResponse
TTURLRequestを利用したアクセス
{request�=��[TTURLRequest�requestWithURL:�delegate:];request.response�=���[[[TTURL<Data|Image>esponse�alloc]����init]�autorelease];[request�send];}{//デリゲートで結果を受け取り}
TTURLRequestを利用したアクセス
NSURLConnectionの代替として
キャッシュがあればそれを、なければ取りに⾏く
事前に応答処理させるオブジェクトを割り当て
TTURLRequestを利用したアクセス
事前に応答処理させるオブジェクトを割り当て
つまり、返ってくる応答を事前に知っているという前提(画像?�テキスト?�XML?)
アクセス⽅法の制御
cachePolicyプロパティ
src/Three20/TTGlobal.h��63�typedef�enum�{��64����TTURLRequestCachePolicyNone�=�0,��65����TTURLRequestCachePolicyMemory�=�1,��66����TTURLRequestCachePolicyDisk�=�2,��67����TTURLRequestCachePolicyNetwork�=�4,���:��70����TTURLRequestCachePolicyNoCache�=�8,
キャッシュぜんたいの制御
TTURLCacheクラスを使う
キャッシュを削除する
キャッシュの設定(サイズ、寿命)
そのほかの機能
リクエストの中断/再開
などなど、(キャッシュに関係ないので省略)
コード読みたいひと向け
今回はこのへんの話
TTURLRequest.[hm]
TTURLResponse.[hm]
TTURLRequestQueue.[hm]
TTURLCache.[hm]
感想
なかなかよさげ
NSURLConnectionとはインターフェイスがちがう
応答を想定して使う前提で、既知のサービスの利用という用途向け
感想
URLはNSURLじゃなくて⽂字列を渡すのはワナ
responseに応答ヘッダを保存してほしい
終
質問などあればどうぞ