2. 内容 • 単一責任原則 • The single responsibility principle、またはSRP • UITableViewControllerのファイル・テンプレート • モデルとコントローラの役割を両方果たしている • 責任を分担させる一例 • GitHubViewer.appのview controllerからUITableViewDataStoreの コードを取り出す • Appleのファイルやプロジェクト・テンプレートについて • その多くは単一責任原則(SRP)に違反する • 実装の一例であり、プロダクション・コードで真似すべきでは ない 5. UITableViewController #pragma mark - UIViewController - (id)initWithStyle:(UITableViewStyle)style { /* ...
5. 端的に言うとこういうこと • Model と それ以外を分ける • Objectのライフサイクルと参照関 係の整理理をしよう • ⾮非同期制御でState Machineを活⽤用 しよう 11つずつ説明していくよ 7. まずは「MMooddeellって何?」っ てことよね。 MMooddeellが意味する範囲は広い のよ。 基本的にはアプリケーション データの本質的な処理をする のがMMooddeellに相当するわ。 といってもピンとこないから、 「何がMMooddeellでないか?」を 考えるとわかりやすいよ。 8. 簡単に言うとMMooddeellは アプリの中でUUIIに関係しない部分 つまりUUIIに関係する部分はMMooddeell ではないわ UI=User Interface: ユーザの操作を受け付けたり何かを表⽰示をする部分
iOS Design Patterns – you’ve probably heard the term, but do you know what it means? While most developers probably agree that design patterns are very important, there aren’t many articles on the subject and we developers sometimes don’t pay too much attention to design patterns while writing code. Design patterns are reusable solutions to common problems in software design. They’re templates des
昨日(6/1)、はてな京都オフィスで開催されたCocoa勉強会関西で「ワタシは Singleton がキライだ」というタイトルで発表してきた。内容について興味のある方はスライドを SlideShare に載せたのでそちらを見てください。 (2013/6/8 追記: この発表で使ったサンプルとだいたい同じものを GitHub で公開しました。CoreDataBooks ではなく、Core Data アプリのテンプレートをベースにしたものになっています) 時間はだいたい30分くらいが基本なんだけど、今回はちょっと気合いを入れて45分枠をもらった。 今回発表したようなテーマには、個人的には10年近く前に Java プログラマをやっていた頃から取り組んでいて、当時からはてなダイアリーに書いたりしてた(この記事とかこの記事とか)。Java 方面では Spring やら Google Guice とい
なんだかよくわからない説明ですね。ではまず「上位のモジュールは下位のモジュールに依存してはならない」について考えてみます。 なぜ、上位モジュールが下位モジュールに依存してはいけないのでしょう? 例えば、下記のようなCameraを表すクラスを実装したとします。(@implementationはひとまず置いておきます) CameraクラスはGoodStorageクラスのインスタンスを保持しています。ここで、Cameraクラスの実装ではこのstrageに様々な処理を命令するためのメソッドがたくさんあると仮定しましょう。 (例えば、写真を保存する、写真を検索する、写真一覧を取得する、写真のプロパティーを変更する...などなどです) ですが、後になって別の機能を持ったストレージが欲しくなった場合どうすればよいでしょうか?例えば、「既にあるGoodStorageクラスを新しく作ったGreatStora
オレオレコーディングガイドラインのすすめ 最近はCocoa(iOS)のコードを主に書いているが、まとめ兼覚え書きとしてコーディングガイドラインと題して自分用またはプロジェクト用に作っている。 1人でコーディングするときは、それをそのまま使い、プロジェクトなど2人以上でコーディングするときはそれをベースに修正したものを共有するという格好だ。 ずっとCocoaをやっているならいいのだが、たまに離れることもあるので再び戻ってきたときに細かいところを忘れてしまうのだ。それにWebでTipsを見つけたときにReadLaterしても良いのだが、どうせ自分は後で見ないので、自分で修正しながら加筆すると忘れてしまわないし、ノウハウが溜まってよい。 今までに作成したものはこんなところ。(オレオレばっかりでダサいが…) オレオレCocoaコーディングガイドラインオレオレUIViewコーディングガイドラインオレ
バックグラウンド処理を手軽に実行できる NSOperation クラスですがこのクラスをきちんと理解して使うには NSOperationQueue クラスについて理解する必要があります。 前回の記事で NSOperationQueue の使い方について説明しました。まだお読みでない方はこちらの記事を先に目を通しておくことをお勧めします。 NSOperationQueue スレッドと処理の関係 今回は NSOperation について NSURLConnection を使ったサーバ通信プログラムを例に説明していきます。 NSOperation には2つの実行モードが存在する NSOperation クラスには「非並列実行モード」と「並列実行モード」の2つの実行モードがあります。 非並列実行モードは処理の終了を NSOperationQueue に任せるのに対し、並列実行モードはプログラマが任
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く