タグ

ブックマーク / quesera2.hatenablog.jp (3)

  • 実行ループとdispatch_sourceの話。 - なるようになるかも

    いまやiOSのネットワーク処理といえばAFNetworkingな感じです。 しかし古いストリーミングAPIを使った経験があれば、ブロックベースのAPIでどうやってネットワーク通信を行っているのか疑問に思うはずです。なぜかというと、 GCDは実行ループを持てない からです。 そもそも実行ループとは何なのでしょう。 実行ループとは NSRunLoop Class Referenceより The NSRunLoop class declares the programmatic interface to objects that manage input sources. An NSRunLoop object processes input for sources such as mouse and keyboard events from the window system, NSPort

    実行ループとdispatch_sourceの話。 - なるようになるかも
    tokorom
    tokorom 2014/04/06
    めも
  • Objective-Cの列挙の話。 - なるようになるかも

    Objective-C - NSArrayでfor(; ;)とかfor-inを使うのをやめて、enumerateObjectsUsingBlock:を使う - Qiita とか Objective-Cのいろいろな反復処理 - koogawa blog とかで列挙の話を見たので。 最も高速な列挙の方法 最初に結論を書いておくと、Objective-Cにおいて最も高速な列挙の方法は、Objective-Cを投げ捨ててC言語で記述することです。 NSArrayやNSDictionaryは ランタイム関数の呼び出しがボトルネック になります。 文字列を列挙するだけならNSStringのNSArrayよりも、char*の配列を扱ったほうが圧倒的に早いです。 NSEnumerator Objective-C 1.0から存在するプロトコルで、基的な列挙方法です。 objectEnumeratorで列挙

    Objective-Cの列挙の話。 - なるようになるかも
  • estimatedHeightについて計測してみた。 - なるようになるかも

    iOS - 見積もりの高さでUITableViewを高速化する話。 - Qiita iOS6検証用だったiPhone4Sを、速度テスト用に初期化してiOS7に上げたのはいいんだけど、Apple Developerのダウンタイムだったみたいで、結局テスト機はiPhone5Sを使うことに。 そのためテストデータ件数が実際にはありえない数字になってます。当は実際的な数字で確かめてみたかったんだけどね…。iPhone5Sだと処理が一瞬で終わってテストにならないんです…。 rowHeightプロパティの効果 まずUITableViewのrowHeightプロパティと、tableView:heightForRowAtIndexPath:デリゲートメソッドで高さを計算した場合の比較。 [self.tableView reloadData]で高さを再計算する時間を計測しています。 テストデータ数 1,0

    estimatedHeightについて計測してみた。 - なるようになるかも
    tokorom
    tokorom 2014/02/26
    めも
  • 1