Submit Search
Upload
TableViewAgent
•
0 likes
•
970 views
Akura Pi
Follow
Report
Share
Report
Share
1 of 22
Download now
Download to read offline
Recommended
20160927 reactmeetup
20160927 reactmeetup
Naoki Kurosawa
React.jsアプリケーションにおける、GoogleAnalyticsの組み込みについて ・react-ga等のコンポーネントを利用するより、従来の組み込み方法の方が柔軟 ・pageviewをsendするポイントはreact-router-reduxのlistenerより、react-routerのonEnterフックを利用した方がGAのレポートがうまく出せる
MySQLアンチパターン
MySQLアンチパターン
yoku0825
2017/02/01 MySQL Casual Talks vol.10
あの日見たMVCを僕たちはまだ知らない for RoR
あの日見たMVCを僕たちはまだ知らない for RoR
shinnosuke kugimiya
RoR用だけどRoRは最後にちょっと触れてるくらいです
MVC の Model を考える
MVC の Model を考える
tomo_masakura
MVC の Model を考える。Controller が太って困っている人向け。
GUI アプリケーションにおける MVC
GUI アプリケーションにおける MVC
Yu Nobuoka
- 関連ブログ記事 : http://vividcode.hatenablog.com/entry/study-meeting/kyotojs-3-gui-mvc-basis Kyoto.js #3 での発表資料です。 最近 GUI アプリケーションでの MVC について基本的なことを考えなおしていたので、簡単にオセロ的なゲームを実装してみて、それを発表しました。
20130316 mix cpp-yuo
20130316 mix cpp-yuo
OKUBO_Yusuke
Mvcのすすめ
Mvcのすすめ
Akura Pi
RIAアーキテクチャー研究会 第3回 セッション4 Mvpvm pattern
RIAアーキテクチャー研究会 第3回 セッション4 Mvpvm pattern
Mami Shiino
このPPTを転用するときにはサイトで利用する場合は http://www.mnow.jp/tabid/220/Default.aspx ページをリンクしてください。 勉強会で転用する場合は.Net ユーザーエクスペリエンス研究所 (http//mnow.jp)にUPされている情報とわかるようにしてください。 ライブラリソフトフェアの使用により生じた全ての弊害については 当サイト及び制作者は一切責任を負わないものとします。 ライブラリソフトフェアに関してはMIT Licenseに準じることにします。 ただしMnow.で始まる場合は名前空間を別の名前空間に変更することは禁止でお願いします。
Recommended
20160927 reactmeetup
20160927 reactmeetup
Naoki Kurosawa
React.jsアプリケーションにおける、GoogleAnalyticsの組み込みについて ・react-ga等のコンポーネントを利用するより、従来の組み込み方法の方が柔軟 ・pageviewをsendするポイントはreact-router-reduxのlistenerより、react-routerのonEnterフックを利用した方がGAのレポートがうまく出せる
MySQLアンチパターン
MySQLアンチパターン
yoku0825
2017/02/01 MySQL Casual Talks vol.10
あの日見たMVCを僕たちはまだ知らない for RoR
あの日見たMVCを僕たちはまだ知らない for RoR
shinnosuke kugimiya
RoR用だけどRoRは最後にちょっと触れてるくらいです
MVC の Model を考える
MVC の Model を考える
tomo_masakura
MVC の Model を考える。Controller が太って困っている人向け。
GUI アプリケーションにおける MVC
GUI アプリケーションにおける MVC
Yu Nobuoka
- 関連ブログ記事 : http://vividcode.hatenablog.com/entry/study-meeting/kyotojs-3-gui-mvc-basis Kyoto.js #3 での発表資料です。 最近 GUI アプリケーションでの MVC について基本的なことを考えなおしていたので、簡単にオセロ的なゲームを実装してみて、それを発表しました。
20130316 mix cpp-yuo
20130316 mix cpp-yuo
OKUBO_Yusuke
Mvcのすすめ
Mvcのすすめ
Akura Pi
RIAアーキテクチャー研究会 第3回 セッション4 Mvpvm pattern
RIAアーキテクチャー研究会 第3回 セッション4 Mvpvm pattern
Mami Shiino
このPPTを転用するときにはサイトで利用する場合は http://www.mnow.jp/tabid/220/Default.aspx ページをリンクしてください。 勉強会で転用する場合は.Net ユーザーエクスペリエンス研究所 (http//mnow.jp)にUPされている情報とわかるようにしてください。 ライブラリソフトフェアの使用により生じた全ての弊害については 当サイト及び制作者は一切責任を負わないものとします。 ライブラリソフトフェアに関してはMIT Licenseに準じることにします。 ただしMnow.で始まる場合は名前空間を別の名前空間に変更することは禁止でお願いします。
Slide
Slide
Akura Pi
viewとmodel
Mvpvm pattern
Mvpvm pattern
Mami Shiino
MVCのつぎは・・・
MVCのつぎは・・・
Net Penguin
MVC以外のアーキテクチャを列挙
Knockout
Knockout
Kazuhiro Eguchi
サーバーからiOSアプリを変更する
サーバーからiOSアプリを変更する
toyship
2014/4/26のyidev@恵比寿で発表したスライドです。
Mvc
Mvc
Shutaro Anno
煮詰まり倒す
Rails基礎講座 part.2
Rails基礎講座 part.2
Jun Yokoyama
Rails基礎講座第二回 Twitterっぽいものを作ってみよう
Xamarin.formsでのmvvm利用のコツ
Xamarin.formsでのmvvm利用のコツ
Masuda Tomoaki
Xamarin.Forms の MVVM パターンの解説です。 MVVM の基礎と、Xmarin.Forms 特有の MVVM パターンを説明しています。
MVCになぞらえて理解するReact
MVCになぞらえて理解するReact
iPride Co., Ltd.
2023/09/01の勉強会で発表されたものです。
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
Akira Inoue
2010.10.23 .NETラボ勉強会資料
はじめての ASP.NET MVC
はじめての ASP.NET MVC
jz5 MATSUE
http://pronama.azurewebsites.net/2015/04/11/asp-net-beginner-seminar-slide/
iOSでMVVM入門
iOSでMVVM入門
ishikawa akira
第二十七回岡山モバイルアプリ開発もくもく会
Githubサービスについて
Githubサービスについて
Akura Pi
Githubを使ったことのない人向けの説明スライド
フィア・オブ・ジ・アンノウン
フィア・オブ・ジ・アンノウン
Akura Pi
SQLアンチパターン「フィア・オブ・ジ・アンノウン」
ナイーブツリーの入れ子集合
ナイーブツリーの入れ子集合
Akura Pi
ファントムファイル
ファントムファイル
Akura Pi
そもそもFloatとは
そもそもFloatとは
Akura Pi
Metaprogramming
Metaprogramming
Akura Pi
Ns user defaults
Ns user defaults
Akura Pi
Currying
Currying
Akura Pi
Storyboard
Storyboard
Akura Pi
Groovy base
Groovy base
Akura Pi
More Related Content
Similar to TableViewAgent
Slide
Slide
Akura Pi
viewとmodel
Mvpvm pattern
Mvpvm pattern
Mami Shiino
MVCのつぎは・・・
MVCのつぎは・・・
Net Penguin
MVC以外のアーキテクチャを列挙
Knockout
Knockout
Kazuhiro Eguchi
サーバーからiOSアプリを変更する
サーバーからiOSアプリを変更する
toyship
2014/4/26のyidev@恵比寿で発表したスライドです。
Mvc
Mvc
Shutaro Anno
煮詰まり倒す
Rails基礎講座 part.2
Rails基礎講座 part.2
Jun Yokoyama
Rails基礎講座第二回 Twitterっぽいものを作ってみよう
Xamarin.formsでのmvvm利用のコツ
Xamarin.formsでのmvvm利用のコツ
Masuda Tomoaki
Xamarin.Forms の MVVM パターンの解説です。 MVVM の基礎と、Xmarin.Forms 特有の MVVM パターンを説明しています。
MVCになぞらえて理解するReact
MVCになぞらえて理解するReact
iPride Co., Ltd.
2023/09/01の勉強会で発表されたものです。
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
Akira Inoue
2010.10.23 .NETラボ勉強会資料
はじめての ASP.NET MVC
はじめての ASP.NET MVC
jz5 MATSUE
http://pronama.azurewebsites.net/2015/04/11/asp-net-beginner-seminar-slide/
iOSでMVVM入門
iOSでMVVM入門
ishikawa akira
第二十七回岡山モバイルアプリ開発もくもく会
Similar to TableViewAgent
(12)
Slide
Slide
Mvpvm pattern
Mvpvm pattern
MVCのつぎは・・・
MVCのつぎは・・・
Knockout
Knockout
サーバーからiOSアプリを変更する
サーバーからiOSアプリを変更する
Mvc
Mvc
Rails基礎講座 part.2
Rails基礎講座 part.2
Xamarin.formsでのmvvm利用のコツ
Xamarin.formsでのmvvm利用のコツ
MVCになぞらえて理解するReact
MVCになぞらえて理解するReact
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
はじめての ASP.NET MVC
はじめての ASP.NET MVC
iOSでMVVM入門
iOSでMVVM入門
More from Akura Pi
Githubサービスについて
Githubサービスについて
Akura Pi
Githubを使ったことのない人向けの説明スライド
フィア・オブ・ジ・アンノウン
フィア・オブ・ジ・アンノウン
Akura Pi
SQLアンチパターン「フィア・オブ・ジ・アンノウン」
ナイーブツリーの入れ子集合
ナイーブツリーの入れ子集合
Akura Pi
ファントムファイル
ファントムファイル
Akura Pi
そもそもFloatとは
そもそもFloatとは
Akura Pi
Metaprogramming
Metaprogramming
Akura Pi
Ns user defaults
Ns user defaults
Akura Pi
Currying
Currying
Akura Pi
Storyboard
Storyboard
Akura Pi
Groovy base
Groovy base
Akura Pi
More from Akura Pi
(10)
Githubサービスについて
Githubサービスについて
フィア・オブ・ジ・アンノウン
フィア・オブ・ジ・アンノウン
ナイーブツリーの入れ子集合
ナイーブツリーの入れ子集合
ファントムファイル
ファントムファイル
そもそもFloatとは
そもそもFloatとは
Metaprogramming
Metaprogramming
Ns user defaults
Ns user defaults
Currying
Currying
Storyboard
Storyboard
Groovy base
Groovy base
TableViewAgent
1.
TableViewAgent @akuraru
2.
自己紹介 • 朝までスライド一枚もできてない • ViewControllerが100行以上はレガシー @akuraru
3.
対象 • CoreDataを触ったことがある • TableViewもある •
TableViewDelegateを書くのが面倒くさい
4.
今回の目的 • 設計の話 • TableViewAgentの紹介 •
TODO
5.
Model Controller View
6.
一般的なMVC • ユーザーの操作をControllerが受け取 り、Modelを操作し、操作されたことを Viewに通知する、ViewはModelを参照し 反映する。
7.
Model Controller View ユーザー 表示入力・操作 変更 操作 状態参照
通知
8.
今回MVCを取り出して 言いたいこと • 概ねViewはModelの写像である。 • しかし、Modelを表示するための変換処 理をViewで処理するわけもいかず、 Controllerで行ったりする。 •
結果、Controllerが肥大化する
9.
Model Controller View変更 操作 状態参照
10.
• ServiceをModelとControllerの間に挟む • Modelの変換処理はServiceが行い、 ViewObjectという値オブジェクトを生成 する •
ViewはViewObjectの写像にする • ServiceとViewObjectの名前は適当です
11.
Model Controller View変更 操作 状態参照 Service
ViewObject 操作 生成 状態参照
12.
View 状態参照 ViewObject • 今回はここだけの話をする
13.
TableViewCell状態参照ViewObject • TableViewCellをViewObjectに対して一対 一対応して表示する
14.
TableViewCell状態参照ViewObject TableViewCell状態参照ViewObject TableViewCell状態参照ViewObject TableViewCell状態参照ViewObject TableViewCell状態参照ViewObject TableViewCell状態参照ViewObject
TableViewCell状態参照ViewObject TableViewCell状態参照ViewObject TableViewViewObjects • TableViewをViewObjectの配列として表 現できる
15.
• 実際に表示されたものはテストしにく い • ”Model→値”部分はテストしやすい。 •
“値→View”部分はテストが大変。 • ”値→View”に不安をなくしてテストを減 らしたい
16.
TableViewAgent • TableViewDelegateの代行クラス • 最小の物だけDelegateで提供 •
Sample is Best
17.
TableViewの問題 • DBから取ってきた配列を表示したい • 列の数がいくつで...Cellに代入して...編 集するためには...削除が... _人人人人人人人_ > 面倒くさい <  ̄Y^Y^Y^Y^Y^Y ̄
18.
TableViewでやりたいこと • 配列の内容を表示する • 要素に合ったCellの選択 •
Cellの選択したときの挙動 • Cellの削除
19.
提供しているメソッド @property (nonatomic) id<AgentViewObjectProtocol>
viewObjects; @property (weak, nonatomic) id<TableViewAgentDelegate> delegate; @property (nonatomic) BOOL editing; - (void)setEditableMode:(EditableMode)mode; - (void)redraw; - (void)setEditing:(BOOL)b;
20.
提供しているDelegate - (NSString *)cellIdentifier:(id)viewObject; -
(void)didSelectCell:(id)viewObject; - (void)deleteCell:(id)viewObject;
21.
まとめ • ViewControllerを短く書きましょう • そのためのViewを作る
22.
TODO • CocoaPodsに申請する • セクションヘッダーの実装
Download now