タグ

iOSに関するyaakaitoのブックマーク (3)

  • dequeueReusable~の実装とテスト - yaakaito.org

    こんにちは!うきょーです。UITableViewに実装されているdequeueReusableCellWithIdentifierと同等の機能を持ったものを開発したいんだけど的な話です。 dataSourceに似たのインターフェイスを持ってビューを実装するときに、不特定個数のものに対してインスタンスをすべて生成するわけにも行かないので、ある程度制御してあげる必要があります。 今回はUIScrollView上に構築していく前提になっています。シンタックスハイライターを作ろうとしているので、使い回して描画される対象になるのは、行数表示とコード一行分の表示です。 コードはいつも通りgithubにあります。 BGSyntaxHighlighter 注)ライブラリとしては未完成です 実装方法を考える さらっと思いつくところではリングバッファのようにしておけばよい気がしますね。 ATPagingVie

  • iOSのテストを書くとViewControllerがコントローラーになれる話 - yaakaito::Blog

    Test, 雑感, iPad, iPhone, Objective-Cテストを書く事でおこるいい事は、いろんなところで解説されているので、iOS開発に限ったもので、わりと僕の中でキたViewControllerについて。ViewContollerがデータを所持しているケーステストをしていく上で課題になるアプリケーションテスト。iOSアプリケーションなので必ずビューが存在するわけですが、こいつを操作するViewControllerが非常に厄介な存在になってくる。少なくともApple公式のドキュメントのような書き方をすると、すぐに破綻する。例えば、こういうコードをよく書くと思いますが、この時に描画されるデータが正しいかをテストする為だけに複雑で手間のかかるアプリケーションテストをする必要があるでしょうか。 - (UITableViewCell *)tableView:(UITableView

  • iOSと非同期テストな話 - yaakaito::Blog

    Objective-C, Test, iPad, iPhone非同期テストを書くにはdispatch_semaphoreを使う方法と、自分でループまわして管理する方法の2つがありますね。違い、というか、特徴としてはdispatch_semaphore使うとかなり綺麗にテストコードが記述できますが、処理内でメインスレッドになってしまうと、そのまま二度と帰ってこないみたいです。自分で管理する場合はこれの逆、メインスレッドに行ってもテストできるけど、テストはちょっと冗長になる感じ。dispatch_semaphore dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); dispatch_queue_t global_queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIOR

    yaakaito
    yaakaito 2012/01/12
    こんなかんじ
  • 1