タグ

2013年12月5日のブックマーク (11件)

  • iOS開発ハマりどころメモ | blog.bouze.me

    ScrollViewのスクロール強制停止 スクロール中のUITableViewを強制的に停止させる時はcontentOffsetに現在地の座標を突っ込む。 [_tableView setContentOffset:_tableView.contentOffset animated:NO]; iphone – Programmatically force a UIScrollView to stop scrolling, for sharing a table view with multiple data sources – Stack Overflow

    iOS開発ハマりどころメモ | blog.bouze.me
    joan9
    joan9 2013/12/05
  • iOSアプリの終了フック – なんてこったい

    iOS 4でのFast App Switchingの導入により、iOSアプリのライフサイクルは若干複雑になりました。今更ではありますが、アプリケーションの終了のフックについて調べたのでまとめておきます。 applicationWillTerminate UIApplicationDelegateには元々applicationWillTerminate:というメソッドがあり、このメソッドはアプリケーションが終了される直前に呼ばれます。 - (void)applicationWillTerminate:(UIApplication *)application { // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackgroun

    joan9
    joan9 2013/12/05
  • iOS のイベント駆動をライフサイクルイベントとユーザアクションイベントにわけて理解する - A Day In The Life

    iOS は タッチパネル式端末用に最適化された OS で ユーザが端末を操作しやすいように GUI の仕組みが提供されています。iOS アプリ開発では主に GUI を操作するプログラムを実装していきます。iOS の GUI プログラムはイベント駆動型と言われるプログラミング方式に則ってプログラムを実装していきます。 iOS に限らず Mac OS 用のアプリ開発でも同じようにイベント駆動型のプログラムを実装しますが、 iOS はタッチパネル式モバイル端末用の OS という性質上 Mac OS のイベント駆動プログラムと少し違うところがあります。 この記事では iOS のイベント駆動の仕組みを「ライフサイクルイベント」と「ユーザアクションイベント」にわけて説明します。iOS のイベント駆動がどういったものなのか理解してその仕組みの上で自由にプログラムできるようになることが目的です。 イベント

    iOS のイベント駆動をライフサイクルイベントとユーザアクションイベントにわけて理解する - A Day In The Life
    joan9
    joan9 2013/12/05
  • 例えば, Singleton を避ける | Born Too Late

    この記事は TDD Advent Calendar jp: 2011 の 14 日目です. 前日: TDD戦略 -TDDを導入し進化させる方法- #TDDAdventJP (@kyon_mm さん) 翌日: TDDに対して思っていること (@gab_km さん) この記事の概要 TDD で開発することで設計上の問題点に気づきやすくなる Singleton はグローバル変数である Singleton の使用はできる限り避けるべきである テスタビリティを意識しよう TDD では, 原則としてユニットテストを書いてから実際のコードを実装します. なので, 自然と「テストのしやすさ (テスタビリティ)」を意識して実装することになります. そして, TDD においては一般的に, テスタビリティを意識することで, 設計が改善されるとされています. オブジェクト指向には難しい概念がたくさん登場します.

  • シングルトンが邪悪な理由

    概要 最近、無駄にSingletonが使われているプログラムをメンテナンスする機会があり、非常に残念な思いをしているので、このつらさを世の中に広めないために書きます。 他にもSingletonが使われていることによって残念な思いをしている人を探してみましたが、日語では見当たりませんでした。海外の記事は見つけました。 全く同じ理由でSingletonのつらさを感じていたのでそのまま訳します。 1) Singletonはグローバルスコープからの呼び出しによく使われる 正しい。 しかし、何のためにでしょうか? singletonパターンはあるシステム上で明確に1つだけしか存在しない呼び出しを提供する。よって、サービス内でオブジェクトの参照を持ち回る必要がなくなる。 しかし、そのような使い方は、グローバル変数と何が違うのか?(ご存じの通り、グローバル変数って良くないよね?) Singletonで

    シングルトンが邪悪な理由
  • 夜趣福利导第一导航|性交描述小说|男人插曲女视频40分钟|影音先峰男人资源

    鸟归巢:夜趣福利导第一导航|性交描述小说|男人插曲女视频40分钟|影音先峰男人资源,一部不行就来两部,身体要紧且看且珍惜。

  • iPhoneで実装☆デザインパターン 第一回:Singletonパターン | 株式会社ブライトシステム

    2011.03.26 デバイスソリューション部 モバイルソフトウェアデザイングループの高津です。 iPhone開発を行う中でよく使うデザインパターンを紹介していきたいと思います。 実装コードはObjective-Cとなります。 今回はSingleton(シングルトン)パターンでの実装を紹介します。 ▼概要 シングルトンパターンは、あるクラスのインスタンスを生成する際に、 そのインスタンスが1つしか生成されないことを保証することができるデザインパターンです。 よって、毎回インスタンスを生成せずに、どこからでも同じ『シングルトンインスタンス』を共有することができます。 ▼使いどころ データベースやファイルシステムのアクセスオブジェクトを制限したい場合によく利用されるデザインパターンです。 私はCoreDataを使用する際によく利用しています。 また、Cocoaフレームワークの実例として、NSU

  • Objective-C における @property と @synthesize の簡単な説明

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95

  • Objective-C(メソッドのオーバーロード)

    Objective-CもC++Javaと同様にオーバーロードが存在しますがはオーバーロードっぽいことが出来ますが、言語仕様としてのオーバーロードは存在しません。記事を見るとラベル名を変更すればオーバーロード出来ると記載してますが、Objective-Cでラベル名を変更するということは、異なるメソッドを定義している事にすぎません。 Reference : Method overloading in Objective-C?(stackoverflow) (誤解を招く記載のため修正 2014/02/08 ナヨユキ) 単純な例を示します。クラスAが存在し、それぞれ引数の数が異なるメソッドを3つ用意し、main関数内でぞれぞれの引数が異なるメソッドを呼び出してみます。 /*************/ /* class A ***/ /*************/ @interface A :

  • iOS で SQLite - FMDB の使い方 - アカベコマイリ

    iOS で SQLite を簡単に扱うためのライブラリ FMDB についてまとめる。 2017/1/22 記事のサンプルを最新の Objective-C と Swift で書き直して記事にまとめました iOS で SQLite - FMDB の使い方 2017 FMDB とは? FMDBSQLite を iOS の Objective-C で扱いやすくするための Wrapper ライブラリ。 GitHub で公開されている。 ccgus/fmdb インターフェースや使用感は JDBC や ADO.NET に近い。よってこれらを利用したことがあればスムーズに理解できるだろう。 FMDB の仕様準備 まず FMDB を利用したいプロジェクトSQLite 用のライブラリを有効にする。手順は以下。 Xcode 左ペインのナビゲーションからプロジェクトを選択 右ペインに PROJECT

  • Selection 9: iOSでSQLiteを使う(FMDB)

    SQLiteのライブラリはC言語のライブラリとして提供されています。したがって、SQLiteの各関数の呼び出しや引数の指定方法、パラメータの型はC言語の文法・型に従う必要があります。 特にC言語への型変換に関して、DBの場合は数値(整数、浮動小数点数)、文字列、バイナリ、日付等様々な型があり、Cocoa TouchからC言語への型変換をSQL実行時と結果取得時に行う必要があるため、結構面倒だったりします。 そんなこともあってか、iOSのSQLiteラッパーライブラリとしてFMDBというライブラリがあり、このライブラリはこの面倒な型変換を全て受け持ってくれるため、この点だけでもFMDBを使う魅力は大いにあると思います。(注:後述しますが、FMDBは型変換だけでは無いです) また、FMDBはARC有効/無効どちらにも対応しています。プリプロセッサでARCの有効状態を判定しているみたいですね。

    Selection 9: iOSでSQLiteを使う(FMDB)