タグ

2012年12月27日のブックマーク (7件)

  • 2011年3月 アーカイブ | dTblog

    このたびの東北太平洋沖地震で被災されているみなさん、ご家族、ご友人のみなさんに、心からお見舞い申し上げます。 非常に月並みな言葉ではありますが、私も、被災地で生まれ育った関係者のひとりとして、今はもう感情に訴えるべきでないという思いがあるので、このくらいにさせてください。ただ、ひとりのエンジニアとして、ひとりのビジネスマンとして、ひとりの日人として、被災地の社会・経済の復興に役立つような、実利ある行動を取っていきたいと思っています。 さて。 『実利ある行動』とか銘打ったあとにやりづらいですが、小さい話をします。iPhoneUIWebView で表示したサイトで、 javascript:history.back() が動かないケースがあってハマりました。 結論から言うと、UIWebView クラスに loadData:MIMEType:textEncodingName:baseURL

    Hamken100per
    Hamken100per 2012/12/27
    UIWebView で history.back が使えないケース
  • [Objective-C][iPhone sdk]UIWebViewでローカルファイルを表示

    UIWebViewを使ってある特定のURLを表示することはできたのですが、問題は、ローカルファイルを出力する場合。 プログラム内で動的に生成するなど、HTML が文字列の場合は、下記のように、baseURL 引数にリソースバンドルのパスを指定します。 [webView loadHTMLString:htmlString baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]]; via:UIWebView を使ってリソースバンドル内の HTML ファイルで、外部 JavaScriptCSS を読み込む ここでポイントとなるのは、baseURLの使い方。 を使うことで、baseURLで指定されているのは、Resourceグループ(画像はフォルダになっている)になっているのですが、 例えば、 Resourceグ

    Hamken100per
    Hamken100per 2012/12/27
    HTMLファイルがフォルダの中に入っている場合の対処
  • iOS でデータを永続化する方法 - A Day In The Life

    iOS データ設計入門の続きです。前回は iOS であつかうデータ全般について書きましたが今回はデータをフラッシュドライブに保存する方法について説明します。 データの永続化って何? メモリにあるデータはアプリを終了すると消えてしまいます。 アプリを終了しても残しておきたいデータはフラッシュドライブに保存する必要があります。メモリにあるフラッシュドライブに保存することをデータの永続化といいます。永続化されたデータはフラッシュドライブが壊れない限り永続的に保存され残ります。以降 iOS でフラッシュドライブがどのように管理されているのかと、データを永続化するのにどのような方法があるのかについて説明していきます。 フラッシュドライブを構成する3つの領域 データを永続化する方法を説明する前に iOS でフラッシュドライブがどのように管理されているか見ていきましょう。 iOS ではフラッシュドライブ

    iOS でデータを永続化する方法 - A Day In The Life
    Hamken100per
    Hamken100per 2012/12/27
    データを保存するディレクトリの規約など
  • NSOperation 非並列実行モードと並列実行モードの使い分け - A Day In The Life

    バックグラウンド処理を手軽に実行できる NSOperation クラスですがこのクラスをきちんと理解して使うには NSOperationQueue クラスについて理解する必要があります。 前回の記事で NSOperationQueue の使い方について説明しました。まだお読みでない方はこちらの記事を先に目を通しておくことをお勧めします。 NSOperationQueue スレッドと処理の関係 今回は NSOperation について NSURLConnection を使ったサーバ通信プログラムを例に説明していきます。 NSOperation には2つの実行モードが存在する NSOperation クラスには「非並列実行モード」と「並列実行モード」の2つの実行モードがあります。 非並列実行モードは処理の終了を NSOperationQueue に任せるのに対し、並列実行モードはプログラマが任

    NSOperation 非並列実行モードと並列実行モードの使い分け - A Day In The Life
  • NSOperationQueue スレッドと処理の関係 - A Day In The Life

    iOS4 になって NSOperationQueue クラスの仕様に追加がありました。以前は並列処理しか出来なかったのですが mainQueue メソッドが追加になり逐次処理も出来るようになりました。変更点も含めて NSOperationQueue の使い方をまとめてみます。 NSOperationQueue クラスの使い方をきちんと理解していると NSOperation クラスの非並列実行モードと並列実行モードの使い方を間違えることも少ないと思います。 NSOperation クラスについては以下の記事で詳しく説明しています。 NSOperation 非並列実行モードと並列実行モードの使い分け NSOperationQueue と NSOperation の関係 NSOperationQueue と NSOperation を使うと、バックグラウンドで何か処理をしたい場合に一連の処理をま

    NSOperationQueue スレッドと処理の関係 - A Day In The Life
    Hamken100per
    Hamken100per 2012/12/27
    マルチスレッドで処理を実行させるクラスの説明
  • 時間のかかる処理をバックグラウンドで実行する方法 - Awaresoft

    大量のデータ処理等、時間のかかる処理をメインスレッドで実行してしまうと、UIが固まってしまってよろしくありません。これを防ぐためには、時間のかかる処理は別スレッドをつくってそちらで行うようにします。Cocoaにはこれを非常に簡単に実現する方法が用意されていますが、いくつか気をつけるべき点があったので書いておきます。 1.performSelectorInBackground:withObject:メソッドを呼ぶ NSObjectにはperformSelectorInBackground:withObject:というメソッドが用意されていて、バックグラウンドで処理を行うメソッドのセレクタを指定するだけで、非常に簡単に別スレッドで実行してくれます。 例えばこんな感じ。 - (void)runVeryHeavyMethodInBackground { [self performSelectorI

    Hamken100per
    Hamken100per 2012/12/27
    簡単に別スレッドで処理を実行させる方法
  • Cocoaの日々: [iOS] バックグラウンド実行見本(Task Completion)

    (2011-12-01 追記あり)UIApplicationDelegateの呼び出しが iOS5 から変わった件。 Task Completion を使った iOS4 でのバックグラウンド実行サンプルを作ってみた。 サンプル 実行するとキューにたまった 30個のデータが順番に処理されてテーブルから消えていく。 処理は GCD を使い別スレッドで実行される。右上の[+]ボタンを押すとキューへデータが追加されていく。途中でホームボタンを押してアプリを切り替えても Task Completion によって処理は停止すること無く実行され続ける。わかりやすいようにアプリのアイコンバッヂに残タスク数を表示してみた。 バッジの数字は時間と共にカウントダウンされていくので処理が行われていることが確認できる。 Task Completion とは? Task Completion は、iOS4 から導入さ

    Cocoaの日々: [iOS] バックグラウンド実行見本(Task Completion)
    Hamken100per
    Hamken100per 2012/12/27
    アプリがバックグラウンドに移行した時のタスク処理サンプル