Soumettre la recherche
Mettre en ligne
BaseViewControllerは作りたくない
•
18 j'aime
•
7,198 vues
今城 善矩
Suivre
第13回potatotipsで発表した資料です http://connpass.com/event/10697/
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 46
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
iOSやAndroidアプリ開発のGoodPractice
iOSやAndroidアプリ開発のGoodPractice
Ken Morishita
iOS アプリのメンテナンス性を高めるための基本的な考え方
iOS アプリのメンテナンス性を高めるための基本的な考え方
kakegawa-atsushi
さらに上を目指すための iOS アプリ設計
さらに上を目指すための iOS アプリ設計
Taketo Sano
VIPER アーキテクチャによる iOS アプリの設計
VIPER アーキテクチャによる iOS アプリの設計
Yuichi Adachi
知らないと損するアプリ開発におけるStateMachineの活用法(full版)
知らないと損するアプリ開発におけるStateMachineの活用法(full版)
Ken Morishita
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
Hiroyuki Kusu
Model View Presenter for Android
Model View Presenter for Android
shinnosuke kugimiya
Xamarin.Mac をこれからはじめるあなたへ
Xamarin.Mac をこれからはじめるあなたへ
Tsubasa Hirano
Recommandé
iOSやAndroidアプリ開発のGoodPractice
iOSやAndroidアプリ開発のGoodPractice
Ken Morishita
iOS アプリのメンテナンス性を高めるための基本的な考え方
iOS アプリのメンテナンス性を高めるための基本的な考え方
kakegawa-atsushi
さらに上を目指すための iOS アプリ設計
さらに上を目指すための iOS アプリ設計
Taketo Sano
VIPER アーキテクチャによる iOS アプリの設計
VIPER アーキテクチャによる iOS アプリの設計
Yuichi Adachi
知らないと損するアプリ開発におけるStateMachineの活用法(full版)
知らないと損するアプリ開発におけるStateMachineの活用法(full版)
Ken Morishita
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
Hiroyuki Kusu
Model View Presenter for Android
Model View Presenter for Android
shinnosuke kugimiya
Xamarin.Mac をこれからはじめるあなたへ
Xamarin.Mac をこれからはじめるあなたへ
Tsubasa Hirano
知らないと損するアプリ開発におけるStateMachineの活用法(15分版)
知らないと損するアプリ開発におけるStateMachineの活用法(15分版)
Ken Morishita
Visual Studio + xamarin で始めるモバイル アプリ開発
Visual Studio + xamarin で始めるモバイル アプリ開発
インフラジスティックス・ジャパン株式会社
Android Architecture
Android Architecture
shinnosuke kugimiya
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
Shumpei Shiraishi
Css nite(2010.09.23)
Css nite(2010.09.23)
Yoshiki Ushida
20130316 mix cpp-yuo
20130316 mix cpp-yuo
OKUBO_Yusuke
Xamarin.formsでのmvvm利用のコツ
Xamarin.formsでのmvvm利用のコツ
Masuda Tomoaki
Androidハイブリッドアプリを約2年間メンテンナンスしてきて分ったこと
Androidハイブリッドアプリを約2年間メンテンナンスしてきて分ったこと
Shuichi Takaya
Xamarin で今日から始めるクロスプラットフォーム開発
Xamarin で今日から始めるクロスプラットフォーム開発
友太 渡辺
受託開発でのAngularJS - 第1回AngularJS 勉強会 at LIG
受託開発でのAngularJS - 第1回AngularJS 勉強会 at LIG
Hayashi Yuichi
AngularJSについて
AngularJSについて
昌生 高橋
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
Yoshito Tabuchi
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
irgaly
121117 metro styleapp_templateapp
121117 metro styleapp_templateapp
Takayoshi Tanaka
Xamarin 101 ~環境構築からビルド・テストまで~
Xamarin 101 ~環境構築からビルド・テストまで~
Masaki Takeda
iOS開発豆知識_エスキュービズム勉強会20141006
iOS開発豆知識_エスキュービズム勉強会20141006
エンジニア勉強会 エスキュービズム
Xamarinの概要
Xamarinの概要
Developer Solutions事業部 メシウス株式会社 (旧グレープシティ株式会社)
はやわかりHTML5ハイブリッドアプリ開発事情
はやわかりHTML5ハイブリッドアプリ開発事情
Monaca
HTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティス
アシアル株式会社
Xamarinを企業向けアプリ開発の プラットフォームとして選定し 実際にアプリをリリースした話
Xamarinを企業向けアプリ開発の プラットフォームとして選定し 実際にアプリをリリースした話
Daisuke Tsutsumi
3 auto layout tips
3 auto layout tips
Tomoki Hasegawa
第49回HTML5勉強会 Google I/O 2014サマリー
第49回HTML5勉強会 Google I/O 2014サマリー
Takuya Oikawa
Contenu connexe
Tendances
知らないと損するアプリ開発におけるStateMachineの活用法(15分版)
知らないと損するアプリ開発におけるStateMachineの活用法(15分版)
Ken Morishita
Visual Studio + xamarin で始めるモバイル アプリ開発
Visual Studio + xamarin で始めるモバイル アプリ開発
インフラジスティックス・ジャパン株式会社
Android Architecture
Android Architecture
shinnosuke kugimiya
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
Shumpei Shiraishi
Css nite(2010.09.23)
Css nite(2010.09.23)
Yoshiki Ushida
20130316 mix cpp-yuo
20130316 mix cpp-yuo
OKUBO_Yusuke
Xamarin.formsでのmvvm利用のコツ
Xamarin.formsでのmvvm利用のコツ
Masuda Tomoaki
Androidハイブリッドアプリを約2年間メンテンナンスしてきて分ったこと
Androidハイブリッドアプリを約2年間メンテンナンスしてきて分ったこと
Shuichi Takaya
Xamarin で今日から始めるクロスプラットフォーム開発
Xamarin で今日から始めるクロスプラットフォーム開発
友太 渡辺
受託開発でのAngularJS - 第1回AngularJS 勉強会 at LIG
受託開発でのAngularJS - 第1回AngularJS 勉強会 at LIG
Hayashi Yuichi
AngularJSについて
AngularJSについて
昌生 高橋
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
Yoshito Tabuchi
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
irgaly
121117 metro styleapp_templateapp
121117 metro styleapp_templateapp
Takayoshi Tanaka
Xamarin 101 ~環境構築からビルド・テストまで~
Xamarin 101 ~環境構築からビルド・テストまで~
Masaki Takeda
iOS開発豆知識_エスキュービズム勉強会20141006
iOS開発豆知識_エスキュービズム勉強会20141006
エンジニア勉強会 エスキュービズム
Xamarinの概要
Xamarinの概要
Developer Solutions事業部 メシウス株式会社 (旧グレープシティ株式会社)
はやわかりHTML5ハイブリッドアプリ開発事情
はやわかりHTML5ハイブリッドアプリ開発事情
Monaca
HTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティス
アシアル株式会社
Xamarinを企業向けアプリ開発の プラットフォームとして選定し 実際にアプリをリリースした話
Xamarinを企業向けアプリ開発の プラットフォームとして選定し 実際にアプリをリリースした話
Daisuke Tsutsumi
Tendances
(20)
知らないと損するアプリ開発におけるStateMachineの活用法(15分版)
知らないと損するアプリ開発におけるStateMachineの活用法(15分版)
Visual Studio + xamarin で始めるモバイル アプリ開発
Visual Studio + xamarin で始めるモバイル アプリ開発
Android Architecture
Android Architecture
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
Css nite(2010.09.23)
Css nite(2010.09.23)
20130316 mix cpp-yuo
20130316 mix cpp-yuo
Xamarin.formsでのmvvm利用のコツ
Xamarin.formsでのmvvm利用のコツ
Androidハイブリッドアプリを約2年間メンテンナンスしてきて分ったこと
Androidハイブリッドアプリを約2年間メンテンナンスしてきて分ったこと
Xamarin で今日から始めるクロスプラットフォーム開発
Xamarin で今日から始めるクロスプラットフォーム開発
受託開発でのAngularJS - 第1回AngularJS 勉強会 at LIG
受託開発でのAngularJS - 第1回AngularJS 勉強会 at LIG
AngularJSについて
AngularJSについて
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
121117 metro styleapp_templateapp
121117 metro styleapp_templateapp
Xamarin 101 ~環境構築からビルド・テストまで~
Xamarin 101 ~環境構築からビルド・テストまで~
iOS開発豆知識_エスキュービズム勉強会20141006
iOS開発豆知識_エスキュービズム勉強会20141006
Xamarinの概要
Xamarinの概要
はやわかりHTML5ハイブリッドアプリ開発事情
はやわかりHTML5ハイブリッドアプリ開発事情
HTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティス
Xamarinを企業向けアプリ開発の プラットフォームとして選定し 実際にアプリをリリースした話
Xamarinを企業向けアプリ開発の プラットフォームとして選定し 実際にアプリをリリースした話
En vedette
3 auto layout tips
3 auto layout tips
Tomoki Hasegawa
第49回HTML5勉強会 Google I/O 2014サマリー
第49回HTML5勉強会 Google I/O 2014サマリー
Takuya Oikawa
Swift bondでつなげてプログラミング
Swift bondでつなげてプログラミング
貴士 山本
アップルのテンプレートは有害と考えられる
アップルのテンプレートは有害と考えられる
Brian Gesiak
Railsチュートリアルの歩き方 (第3版)
Railsチュートリアルの歩き方 (第3版)
Yohei Yasukawa
サイボウズの企業風土
サイボウズの企業風土
chika_nakazawa
What is reactive programming?
What is reactive programming?
Kenji Tanaka
各アプリケーションの概要(クラウド版)
各アプリケーションの概要(クラウド版)
Cybozucommunity
IOS/Androidアプリの3つの大事な設計方針
IOS/Androidアプリの3つの大事な設計方針
Ken Morishita
各アプリケーションの概要(パッケージ版)
各アプリケーションの概要(パッケージ版)
Cybozucommunity
小さく始める大規模スクラム
小さく始める大規模スクラム
Keisuke Tsukagoshi
DeNAにおける機械学習・深層学習活用
DeNAにおける機械学習・深層学習活用
Kazuki Fujikawa
VC「もしかして...」Model「私たち...」「「入れ替わってるー!?」」を前前前世から防ぐ方法
VC「もしかして...」Model「私たち...」「「入れ替わってるー!?」」を前前前世から防ぐ方法
Kenji Tanaka
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
Ken Morishita
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
Koichi Tanaka
Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)
Yohei Yasukawa
En vedette
(16)
3 auto layout tips
3 auto layout tips
第49回HTML5勉強会 Google I/O 2014サマリー
第49回HTML5勉強会 Google I/O 2014サマリー
Swift bondでつなげてプログラミング
Swift bondでつなげてプログラミング
アップルのテンプレートは有害と考えられる
アップルのテンプレートは有害と考えられる
Railsチュートリアルの歩き方 (第3版)
Railsチュートリアルの歩き方 (第3版)
サイボウズの企業風土
サイボウズの企業風土
What is reactive programming?
What is reactive programming?
各アプリケーションの概要(クラウド版)
各アプリケーションの概要(クラウド版)
IOS/Androidアプリの3つの大事な設計方針
IOS/Androidアプリの3つの大事な設計方針
各アプリケーションの概要(パッケージ版)
各アプリケーションの概要(パッケージ版)
小さく始める大規模スクラム
小さく始める大規模スクラム
DeNAにおける機械学習・深層学習活用
DeNAにおける機械学習・深層学習活用
VC「もしかして...」Model「私たち...」「「入れ替わってるー!?」」を前前前世から防ぐ方法
VC「もしかして...」Model「私たち...」「「入れ替わってるー!?」」を前前前世から防ぐ方法
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)
Similaire à BaseViewControllerは作りたくない
サーバーからiOSアプリを変更する
サーバーからiOSアプリを変更する
toyship
Ojbecitve-C Use ContainerView (Stroyboard)
Ojbecitve-C Use ContainerView (Stroyboard)
Jaeeun Lee
iOS 7 対応事例 FastCheckin
iOS 7 対応事例 FastCheckin
Kosuke Ogawa
UIViewController のコンテナ機能
UIViewController のコンテナ機能
Yuichi Fujishige
20121201yidev hirobe iPad miniでRetina
20121201yidev hirobe iPad miniでRetina
Kazuya Hirobe
デザイナーとエンジニアが話す、iOSアプリケーション開発
デザイナーとエンジニアが話す、iOSアプリケーション開発
Kenta Ohsugi
Indigo Studio で作るプロトタイプ
Indigo Studio で作るプロトタイプ
インフラジスティックス・ジャパン株式会社
Jenkins導入ライブ
Jenkins導入ライブ
Hiasyoshi Suehiro
Swift入門
Swift入門
聡 中川
iOS13 SDK による 全機能置き換え Part1
iOS13 SDK による 全機能置き換え Part1
Kaname Noto
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
Kentaro Matsumae
きちんと理解できるiOS開発〜Auto Layout編
きちんと理解できるiOS開発〜Auto Layout編
mission:beGeek
Swiftビギナーズ 2016/01/09
Swiftビギナーズ 2016/01/09
Yutaka Tajika
iOSのUI構築小技集(小さなとこから始められる編)
iOSのUI構築小技集(小さなとこから始められる編)
Fumiya Sakai
Container View Controllerを正しく使おう
Container View Controllerを正しく使おう
asakahara
Swiftではじめる動画再生
Swiftではじめる動画再生
Yusuke Ariyoshi
Ignite UI 2012 最新情報 jQuery Mobile 編
Ignite UI 2012 最新情報 jQuery Mobile 編
インフラジスティックス・ジャパン株式会社
Visual Studio OnlineとUnityを使ったバージョン管理と継続的インテグレーション
Visual Studio OnlineとUnityを使ったバージョン管理と継続的インテグレーション
Kaoru NAKAMURA
Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション
Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション
Kaoru NAKAMURA
iPhoneアプリのUIデザイン - NoteCubeの場合
iPhoneアプリのUIデザイン - NoteCubeの場合
Daigo Wakabayashi
Similaire à BaseViewControllerは作りたくない
(20)
サーバーからiOSアプリを変更する
サーバーからiOSアプリを変更する
Ojbecitve-C Use ContainerView (Stroyboard)
Ojbecitve-C Use ContainerView (Stroyboard)
iOS 7 対応事例 FastCheckin
iOS 7 対応事例 FastCheckin
UIViewController のコンテナ機能
UIViewController のコンテナ機能
20121201yidev hirobe iPad miniでRetina
20121201yidev hirobe iPad miniでRetina
デザイナーとエンジニアが話す、iOSアプリケーション開発
デザイナーとエンジニアが話す、iOSアプリケーション開発
Indigo Studio で作るプロトタイプ
Indigo Studio で作るプロトタイプ
Jenkins導入ライブ
Jenkins導入ライブ
Swift入門
Swift入門
iOS13 SDK による 全機能置き換え Part1
iOS13 SDK による 全機能置き換え Part1
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
きちんと理解できるiOS開発〜Auto Layout編
きちんと理解できるiOS開発〜Auto Layout編
Swiftビギナーズ 2016/01/09
Swiftビギナーズ 2016/01/09
iOSのUI構築小技集(小さなとこから始められる編)
iOSのUI構築小技集(小さなとこから始められる編)
Container View Controllerを正しく使おう
Container View Controllerを正しく使おう
Swiftではじめる動画再生
Swiftではじめる動画再生
Ignite UI 2012 最新情報 jQuery Mobile 編
Ignite UI 2012 最新情報 jQuery Mobile 編
Visual Studio OnlineとUnityを使ったバージョン管理と継続的インテグレーション
Visual Studio OnlineとUnityを使ったバージョン管理と継続的インテグレーション
Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション
Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション
iPhoneアプリのUIデザイン - NoteCubeの場合
iPhoneアプリのUIデザイン - NoteCubeの場合
Plus de 今城 善矩
HealthKitで日別のデータを一度に取得する
HealthKitで日別のデータを一度に取得する
今城 善矩
Stargazer Meetup1
Stargazer Meetup1
今城 善矩
とにかく明るいCore Spotlight
とにかく明るいCore Spotlight
今城 善矩
SansanのEightアプリでRealmを導入した件
SansanのEightアプリでRealmを導入した件
今城 善矩
まだSwiftで消耗してるの?
まだSwiftで消耗してるの?
今城 善矩
小学生でも分かった気になるiOS8のSize Class
小学生でも分かった気になるiOS8のSize Class
今城 善矩
iOSアプリ開発の現場で訊いてきたtips
iOSアプリ開発の現場で訊いてきたtips
今城 善矩
Swiftだめ自慢Beta5
Swiftだめ自慢Beta5
今城 善矩
WebApiを利用する際のOptional Bindingやクロージャを駆使したSwiftらしいコードの書き方
WebApiを利用する際のOptional Bindingやクロージャを駆使したSwiftらしいコードの書き方
今城 善矩
やはりお前らのCore Dataの使い方も間違っている
やはりお前らのCore Dataの使い方も間違っている
今城 善矩
OHHTTPStubsを使ったiOSアプリ開発
OHHTTPStubsを使ったiOSアプリ開発
今城 善矩
ジョブズも成仏するTips考えたったwww
ジョブズも成仏するTips考えたったwww
今城 善矩
やはりお前らのiOS7対応は間違っている
やはりお前らのiOS7対応は間違っている
今城 善矩
Plus de 今城 善矩
(13)
HealthKitで日別のデータを一度に取得する
HealthKitで日別のデータを一度に取得する
Stargazer Meetup1
Stargazer Meetup1
とにかく明るいCore Spotlight
とにかく明るいCore Spotlight
SansanのEightアプリでRealmを導入した件
SansanのEightアプリでRealmを導入した件
まだSwiftで消耗してるの?
まだSwiftで消耗してるの?
小学生でも分かった気になるiOS8のSize Class
小学生でも分かった気になるiOS8のSize Class
iOSアプリ開発の現場で訊いてきたtips
iOSアプリ開発の現場で訊いてきたtips
Swiftだめ自慢Beta5
Swiftだめ自慢Beta5
WebApiを利用する際のOptional Bindingやクロージャを駆使したSwiftらしいコードの書き方
WebApiを利用する際のOptional Bindingやクロージャを駆使したSwiftらしいコードの書き方
やはりお前らのCore Dataの使い方も間違っている
やはりお前らのCore Dataの使い方も間違っている
OHHTTPStubsを使ったiOSアプリ開発
OHHTTPStubsを使ったiOSアプリ開発
ジョブズも成仏するTips考えたったwww
ジョブズも成仏するTips考えたったwww
やはりお前らのiOS7対応は間違っている
やはりお前らのiOS7対応は間違っている
Dernier
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
sugiuralab
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
Shota Ito
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
osamut
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Atomu Hidaka
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
sugiuralab
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
Dernier
(8)
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
BaseViewControllerは作りたくない
1.
iOSアプリの設計で BaseViewControllerは作りたくない 株式会社キュリオシティソフトウェア 今城善矩(@yimajo)
2.
何の話か
3.
【前提】 iOSアプリ開発では 基本的にUIViewControllerを 各画面用に継承して利用する UIViewController ViewController ViewController
4.
その際、アプリ独自の処理を実装するため にBaseViewControllerを作って各画面用の ViewControllerが継承して使うことがある UIViewController BaseViewController ViewController ViewController
5.
これはViewControllerのライフサイク ルに応じて勝手に動作する 親クラス設計している
6.
• 各画面共通の処理をライフサイクルに合 わせてまとめられる
7.
• 各画面ごとの実装に集中できる
8.
このやり方は効率的!
9.
会場の皆さんに質問です BaseViewController/BaseActivityを よく作るという方 挙手でお知らせください (・ω・)ノノノノノシ (´∀`)ノノノノノシ 追記: 会場ではiOS
3人,Android 12人ぐらい居ました
10.
でも
11.
このやり方って自分は経験上良く ない場面に遭遇することが多く
12.
正解とかベストプラクティス がどうとかじゃなく
13.
継承という仕組みを 開発効率や問題解決 のために使うと アプリの仕様変更がある際に 影響範囲を大きくしてしまう
14.
画面数多くなる画面数少ない BaseViewController メリット 勝手なイメージ BaseViewController デメリット
15.
しかし ケースバイケースのような気 もするし
16.
好みの問題のような気がしな くもない
17.
ずっとモヤモヤしてたので
18.
先にQiitaで公開して 整理しフィードバック集めてみた http://qiita.com/yimajo/items/8ef1850e1362bd3bf3d8
19.
反応(2015.1.14現在) • 閲覧数4760 • ストック数
98 • はてブ 86 • Tweet 94 • コメント 1
20.
2015年元旦に おとそ気分でQiitaに投稿してみ たけど案外反応があったので
21.
正月三が日は エゴサーチして過ごした
22.
具体的に書かれている意見を 集めた
23.
“わかる。AndroidのBaseActivityも同じ問題起きま すね”
24.
“ぼくもBVC作るのはあまり好きじゃない。デメ リットはここにあげたことのほか、そのプロジェ クトに対する学習コストが増えるってのもある とおもう”
25.
“私もBaseViewControllerは反対。たいていBaseを つかわなくてすむ方法はあるし、プロジェクト 規模が大きくなるにつれ、弊害が増える”
26.
“BaseViewControllerのようなものをちゃんと設計 して作るのは難しいので、世の中の BaseViewControllerはたいていダメな実装になっ ていて、そしてクラスの性格上プロジェクト全 体でそれが使われるので後から直せない、とい うのが私の見てきたパターン”
27.
“まぁ改善する用にお願いされるプロジェクトと いうのはそもそも要件が右行ったり左行ったり 曲がるプロジェクトなので、それと相性が致命 的に悪いだけとも言えます”
28.
“確かにBaseViewControllerとかやると簡単に破綻 していくな。継承すると不都合が出るケースは あるだろうし、そうして継承しないクラスが出 ると、それはBaseでも何でもなくなる。したら 名付けをBaseじゃなくて、具体的な機能の名前 にした方が良さそうね”
29.
“BaseViewControllerとか UIViewController+Commonは甘え”
30.
31.
32.
フィードバックありがとう ございました
33.
フィードバックの内容を読んだ 感じでは…
34.
BaseViewController 使わないで済む 方法について検討し 実行した上の意見じゃないかと思う
35.
ここで 継承を使ったViewController設計が 実装に応じて進化していく例を お見せしよう
36.
UIViewController BaseViewController VC VC VC 「私の戦闘力は53万です…ですが、もちろんフルパワーで あなたと戦う気はありませんからご心配なく…」
37.
UIViewController BaseViewController A VC BaseViewController B VC VC VC 「何しろ力があり余っているんだ。ちょっとやりすぎてしまうか もしれん。くっくっく…戦闘力にしたら100万以上は確実か…」
38.
UIViewController BaseViewController A VC BaseViewController B VC VC VC BaseViewController C VC 「このフリーザは継承をするたびにパワーがはるかに増す… その変身をあと2回もオレは残している…その意味がわかるな?」
39.
UIViewController BaseViewController A VC BaseViewController B VC VC VC BaseViewController C VC SuperBaseView Controller 「光栄に思うがいい!この変身まで見せるのは貴様らが初めてだ!」
40.
UIViewController BVC A VC BCV CA SuperBaseTableView Controller UITableView Controller UICollectionView Controller SuperBaseView Controller SuperBaseCollection ViewController BVC B BVC C VC VC VC BTV CA BTV CB BCV CB VC
VCVC VC VC VC VC VC VC VC 「大サービスでご覧に入れましょう! わたくしの最後の変身を…わたくしの真の姿を…」
41.
あなたが例えば 同僚からこういう コードを引き継いだら大変
42.
画面を増やしたいって時に
43.
ViewControllerの設計を把握し 実装を細かく理解しないと 対称性を崩してしまって良く ない気分になる
44.
他の画面の実装を細かく理解 すればするほど突っ込みどこ ろが気になってきたりする
45.
まとめ
46.
• ひとりきりでやりきるときは問題ないけ ど他人のコードだと涙すら流れる! • ケースバイケースだからと停止せず、踏み 込んで整理して公開してすっきり
Télécharger maintenant