狠狠撸

狠狠撸Share a Scribd company logo
コデアルiOSアプリ勉強会
- Programming 24 -
nakasen_20th
目指すところ
? プログラマになる
? TwitterクライアントiOSアプリを作る
iOSアプリを作れるようになる
1. iOSアプリの構成を知る
2. 開発環境Xcodeを知る
3. Objective-Cの基礎を知る
4. UIKitを知る
Twitterアプリを作る
5. Twitter APIを知る
6. ググり方を知る(超重要)
7. 並列処理の方法を知る
プログラマになる
8. 作品を作りこむ
9. GitHubに公開する
10.ライトニングトークで自分を売り込む(発表)
1. iOSアプリの構成を知る
iOS機器
? iPhone
? iPad iPad mini
? iPod Touch
iOSのバージョン
? iOS7とそれ以前?
http://www.idownloadblog.com/2013/06/14/ios-6-vs-ios-7-
the-di?erent-ui-views/?
(見た目の大きな変化)
? 今回はiOS7に限定
? iOS7動作機種
? iPhone4以降
? iPad 2以降、iPad mini全て
? iPod Touch 第5世代以降
フレームワーク
? https://developer.apple.com/legacy/library/
documentation/Cocoa/Conceptual/
CocoaFundamentals/
CocoaFundamentals.pdf?
2. 開発環境Xcodeを知る
? Apple社純正統合開発環境
? バージョンは最新(5.1)に(20140401現在)
? 新規作成時は「Single View Application」で
? 画面構成に早く慣れる
Xcode画面構成
http://www.atmarkit.co.jp/ait/articles/1212/05/
news022.html
? ツールバー
? ナビゲーターエリア
? エディタエリア
? ユーティリティエリア
? デバッグエリア?
ナビゲーターエリア
? 重要なのは3つ
Main.storyboard
ViewController.h
ViewController.m
Storyboard
? エディタエリアの初期状態を確認
? Document Outlineを表示
View Controllerがひとつ
その上にViewがひとつ
Object library
? UIパーツを確認
? ドラッグでView上に配置
Label
Button
View Controller
セグエで連結
? Buttonから次のView Controllerへ?
Control + ドラッグ
? セグエの種類は「Push」
? 最初のView ControllerにNavigation
ControllerをEmbed In
? もう一度Document Outlineを確認
Navigation Controller
? View Controllerの遷移を記録して管理
? 画面上部のNavigation Barに戻るボタンを?
自動生成
? Embed InしたView Controllerから記録開始
Attributes inspector
? Viewの属性を変えてみる
? Labelのテキストを変えてみる
? Buttonの種類を変えてみる
? Segueの種類を変えてみる
ビルド、実行
? ここで実行してみる(iOSシミュレータの起動)
? ハードウェアを選択
? 画面の向きを変えてみる
演習課題
? アンケートアプリ作成(コードは書かない!)
? 二者択一の画面遷移をセグエで実現
? 最終結果は4画面
? 題材は自由
3. Objective-Cの基礎を知る
? C言語とオブジェクト指向要素のハイブリッド
? オブジェクトとそうでないもの(プリミティブ)
が混在
? プリミティブと構文と関数でとりあえず動く
変数(プリミティブ)
? 変数は値の入れ物
? 型で分類
int型(整数)
?oat型(実数)
BOOL型(1か0、YESかNO)?
他の言語と混乱した人向け?→?
http://d.hatena.ne.jp/thata/20091123/1258950667
その他(文字型はオブジェクトの時に)
構文(if文)
? if文は条件分岐?
int age = 20; // この数値を変えてみる?
if (age >= 20) {?
NSLog(@ 成人"); // NSLog関数は後述?
} else {?
NSLog(@"未成年");
}?
構文(for文)
? for文は繰り返し?
for (int i = 1; i <= 10; i++) { // 繰返し条件?
NSLog(@"%d", i); // %dは整数を十進表示する書式?
}
? if、forともに条件式に注意
条件式で「等しい」は「==」(比較演算子)?
http://www.objectivec-iphone.com/introduction/
operator/logical-operator.html
? 構文は入れ子が可能(ifの中にif、など)
構文(switch文)
? switch文は条件分岐(3分岐以上可)?
int era = 1; // この数値を変えてみる?
switch (era) {?
case 0:?
NSLog(@"昭和");?
break;?
case 1:?
NSLog(@"平成");?
break;?
default:?
NSLog(@"年号 error! ); // 大正生まれはどうする??
break;?
}
演習問題
? 掛け算九九
? NSLog関数で"1 1 = 1"、"1 2 = 2"???
? for文の入れ子で短く書く
関数
? 引数を与えて戻り値を得る
? プログラミング言語では引数や戻り値がない場合がある?
→単なる処理の固まり
? f(x)=2x は?
int twice(int value) {?
return 2 * value;?
}
? この関数を呼び出す時は?
int x = 5;?
int answer = twice(x);
関数いろいろ
? 戻り値がない場合
型はvoid
returnがない
? 引数がない場合
? 引数が2つ以上の场合
トピックス:名前
? 名前決めるの大変!
変数名
関数名
仮引数名
? これだけ書籍の何十ページ分
? 困ったら一绪に悩みましょう
関数の呼び出し
? それぞれの場合?
?
?
?
?
?
?
演習問題
? 消費税込計算関数?iTax()
? 引数100を与えれば戻り値108が得られる
? 税率も引数に含めたい場合は、?
引数2つの関数を作成
オブジェクト指向
? クラス?
変数定義とメソッド定義の設計書
? メソッド?
関数定義のオブジェクト指向版
? インスタンスの生成?
クラス(設計書)を元に実体を生み出す?
実体は変数フィールドとメソッドを持つ
クラスの書き方
? @interface
変数フィールド名、メソッド名の宣言部
? @implementation
メソッド実装部
? @interfaceは「.h」に書かれることが多い?
@implementationは「.m」に書かれることが多い
? ViewController.hとViewController.mを見てみよう
メソッドの書き方
? 戻り値がない場合とある場合
? 引数がない場合と1つの場合と2つ以上の場合
? ラベル付き引数はやっかい
? メソッド呼び出しの書式が不思議
インスタンスの生成方法
? allocしてinitする
? newする(上に同じ)
? allocしてからinitの代わりにinitWith~を使う?
(指定イニシャライザ)
? allocとinitWith~をまとめて行うメソッド?
(コンビニエンスコンストラクタ)を使う
? その他(この後出てくるクラスはほとんどこれ)
クラス宣言、実装、実行
? Scoreクラス(クラス名は英大文字から)?
?
?
?
?
?
?
?
? 実行(インスタンスを生成してメソッド実行)?
?
?
変数へのアクセス
? クラスで宣言した変数はクラス外から見えない
? 値のセット、値の読み出しができるように?
それぞれメソッドを用意する
セッタ
ゲッタ
演習問題
? 電卓の消費税ボタンcalciTaxクラスを作成
クラス税率taxフィールドを持つ
taxに値をセットするsetTaxメソッド持つ
taxの値を読み出すgetTaxメソッドを持つ
税込み計算を行うiTaxメソッドを持つ
? インスタンスを生成し、計算を実行する
Foundationフレームワーク
? 基礎的なクラスをたくさん定義してある
NSNumberクラス
NSStringクラス
NSArrayとNSMutableArrayクラス
NSDictionaryとNSMutableDictionaryクラス
その他たくさん
NSNumberクラス
? 数値オブジェクト
? オブジェクトだがalloc initしなくても?
初期化できる
? alloc initしても良い?
?
?
NSStringクラス
? 文字列オブジェクト
? オブジェクトだがalloc initしなくても?
初期化できる
? alloc initすると怒られる?
?
?
NSArrayクラス?
(NSMutableArrayクラス)
? 配列オブジェクト(複数の要素を持つ)
? 要素はオブジェクトならなんでも良い
? オブジェクトだがalloc initしなくても初期化できる
? alloc initしても良い?
?
?
? NSMutableArrayオブジェクトは要素の変更、追加、削除が可?
(NSArrayはそれらが不可、ということ)
NSDictionaryクラス?
(NSMutableDictionaryクラス)
? 辞書オブジェクト(キーと値のセット)
? 要素はオブジェクトならなんでも良い
? オブジェクトだがalloc initしなくても初期化できる
? alloc initしても良い?
?
?
? NSMutableDictionaryオブジェクトは要素の変更、追加、削除可?
(NSDictionaryはそれらが不可、ということ)
コレクションクラス
? 複数の要素を持てるオブジェクトを?
コレクションと言う
NSArray
NSMutableArray
NSDictionary
NSMutableDictionary
その他
? for文との相性が良い?@ITの記事がわかりやすい?
http://www.atmarkit.co.jp/ait/articles/0901/21/news126_2.html
演習問題
? 成績表を一覧表示するreportクラスを作成
学籍番号、氏名、成績フィールド
平均点を求めるメソッド
セッタメソッド、ゲッタメソッド
? 成績フィールドはNSDictionaryで持つ
数学、英語、国語キーの値を持つ
4. UIKitを知る
? UI(ユーザインターフェース)の役割
情報の伝達
ユーザの誘導
総合的なユーザ体験
StoryboardでUI構築
? UI構築作業をStoryboardに任せる
? もう一度Object libraryでUIパーツを確認
? もう一度Attributes inspectorの項目を確認
ViewControllerグループ
? UIViewControllerクラス
? UINavigationControllerクラス
? UITableViewControllerクラス
? その他
Viewグループ
? UILabelクラス
? UIViewクラス
? UIImageViewクラス
? UITextViewクラス
? その他
Controlグループ
? UIButtonクラス
? UISegmentedControlクラス
? UITextViewクラス
? その他
その他グループ
? UITableViewCellクラス
? UIGestureRecognizerクラス
? その他
UIパーツをStoryboardで生成
? nibファイルを作成してセルをカスタマイズ
UIパーツをコードのみで作成
? セルカスタマイズのサンプルソース
UIKit重点項目
? UIViewControllerクラス
ライフサイクル
Navigation Controllerによる管理
? UITableViewControllerクラス
構成要素
代表的なデリゲートメソッド
セルの生成方法

More Related Content

What's hot (20)

PDF
颈翱厂豆知识惫别谤0.0.5
ppengotsu Name
?
PPTX
Google Codelabsをやってみた
furusin
?
PDF
鲍滨を作る际にライブラリにする?それとも顿滨驰する?の切り分け&补尘辫;実装のアイデア例と事例绍介
Fumiya Sakai
?
PDF
齿肠辞诲别7时代のアプリ配布
toyship
?
PDF
watchOS2 tips
Motoki Narita
?
PDF
はし?める前に知っておきたい础苍诲谤辞颈诲アフ?リ开発のホ?イント
Shinobu Okano
?
PPTX
础苍诲谤辞颈诲アプリ开発ことはじめ
takosumipasta
?
PDF
Apple審査を一発通過! iOS開発経験0でも出来る じげん流Swift開発のすべて
Masaru Gushiken
?
PDF
Swiftの魅力と可能性 2
Masaaki Takahashi
?
PDF
Android StudioではじめるAndroidアプリケーション実践入門 先生:日高 正博
schoowebcampus
?
PDF
颈翱厂侧の鲍滨の特徴と见比べる础苍诲谤辞颈诲侧での鲍滨実装のヒント
Fumiya Sakai
?
PPTX
贬罢惭尝5/闯补惫补厂肠谤颈辫迟で作る础苍诲谤辞颈诲アプリ开発蝉别尘颈苍补谤
kujirahand kujira
?
PDF
厂飞颈蹿迟による颈翱厂开発再入门
Tomoki Hasegawa
?
PDF
2015年度研究室プレ卒研用础苍诲谤辞颈诲讲座1
Hokuto Tateyama
?
PDF
个人て?开発したアフ?リか?ヘ?スト新着に选は?れた话
Motoki Narita
?
PDF
Android Wearって何?-Android Wearの概要と仕組み-(オープンセミナー 2014 at 香川発表資料)
Tadaaki Akai
?
PDF
やはりお前らの颈翱厂7対応は间违っている
今城 善矩
?
PDF
颈翱厂アプリを审査に提出してみた话
Hideki Abe
?
PDF
Potatotips3 hoshi gaki_akira_iwaya
Akira Iwaya
?
PDF
少しずつ手厚くして不具合や仕様漏れを防ぐために
Fumiya Sakai
?
颈翱厂豆知识惫别谤0.0.5
ppengotsu Name
?
Google Codelabsをやってみた
furusin
?
鲍滨を作る际にライブラリにする?それとも顿滨驰する?の切り分け&补尘辫;実装のアイデア例と事例绍介
Fumiya Sakai
?
齿肠辞诲别7时代のアプリ配布
toyship
?
watchOS2 tips
Motoki Narita
?
はし?める前に知っておきたい础苍诲谤辞颈诲アフ?リ开発のホ?イント
Shinobu Okano
?
础苍诲谤辞颈诲アプリ开発ことはじめ
takosumipasta
?
Apple審査を一発通過! iOS開発経験0でも出来る じげん流Swift開発のすべて
Masaru Gushiken
?
Swiftの魅力と可能性 2
Masaaki Takahashi
?
Android StudioではじめるAndroidアプリケーション実践入門 先生:日高 正博
schoowebcampus
?
颈翱厂侧の鲍滨の特徴と见比べる础苍诲谤辞颈诲侧での鲍滨実装のヒント
Fumiya Sakai
?
贬罢惭尝5/闯补惫补厂肠谤颈辫迟で作る础苍诲谤辞颈诲アプリ开発蝉别尘颈苍补谤
kujirahand kujira
?
厂飞颈蹿迟による颈翱厂开発再入门
Tomoki Hasegawa
?
2015年度研究室プレ卒研用础苍诲谤辞颈诲讲座1
Hokuto Tateyama
?
个人て?开発したアフ?リか?ヘ?スト新着に选は?れた话
Motoki Narita
?
Android Wearって何?-Android Wearの概要と仕組み-(オープンセミナー 2014 at 香川発表資料)
Tadaaki Akai
?
やはりお前らの颈翱厂7対応は间违っている
今城 善矩
?
颈翱厂アプリを审査に提出してみた话
Hideki Abe
?
Potatotips3 hoshi gaki_akira_iwaya
Akira Iwaya
?
少しずつ手厚くして不具合や仕様漏れを防ぐために
Fumiya Sakai
?

Viewers also liked (6)

PDF
摆コテ?アル闭摆笔谤辞驳谤补尘尘颈苍驳24闭础苍诲谤辞颈诲アフ?リ勉强会01
codeal
?
PDF
iPhoneアプリ無料勉強会 vol3
codeal
?
PPTX
SPIRE2013-tabei20131009
Yasuo Tabei
?
PPTX
CPM2013-tabei201306
Yasuo Tabei
?
PDF
NIPS2013読み会: Scalable kernels for graphs with continuous attributes
Yasuo Tabei
?
PDF
24时间で颈翱厂アプリ-罢飞颈迟迟别谤クライアント-の作成にチャレンジ
聡 中川
?
摆コテ?アル闭摆笔谤辞驳谤补尘尘颈苍驳24闭础苍诲谤辞颈诲アフ?リ勉强会01
codeal
?
iPhoneアプリ無料勉強会 vol3
codeal
?
SPIRE2013-tabei20131009
Yasuo Tabei
?
CPM2013-tabei201306
Yasuo Tabei
?
NIPS2013読み会: Scalable kernels for graphs with continuous attributes
Yasuo Tabei
?
24时间で颈翱厂アプリ-罢飞颈迟迟别谤クライアント-の作成にチャレンジ
聡 中川
?
Ad

Similar to 第1回 コデアル颈翱厂アプリ勉强会 (20)

PDF
iPhone develop for Beginner
Sachiko Kajishima
?
PPTX
颈笔丑辞苍别アフ?リ开発の歩き方?厂飞颈蹿迟编?
Yusuke SAITO
?
PPTX
第一回颈翱厂アプリ勉强会
Daisuke Tsukagoshi
?
KEY
颈笔丑辞苍别アプリ开発を楽に楽しくするサイトまとめ
Hiramatsu Ryosuke
?
PDF
DevLOVE iPhoneアプリ勉強会
Toshimitsu Takahashi
?
PDF
Beginning iPhone Vol2
Sachiko Kajishima
?
PPTX
颈辫丑辞苍别アフ?リ开発 その1:导入?初アプリ
Satoru Murakami
?
PDF
颈翱厂アプリ制作のための翱产箩别肠迟颈惫别-颁入门
聡 中川
?
PDF
24时间で颈翱厂アプリ-罢飞颈迟迟别谤クライアント-の作成にチャレンジ ver1.1
聡 中川
?
PDF
?I phoneアプリを作ってみよう!(超初心者向け)
Nishida Kansuke
?
PDF
厂飞颈蹿迟アプリ制作入门 かんたんシューティングゲーム
聡 中川
?
PPTX
2012 05-19第44回cocoa勉強会発表資料
OCHI Shuji
?
PDF
?齿肠辞诲别を覚えよう!简単なアプリを作ってみよう!②
Nishida Kansuke
?
PDF
厂飞颈蹿迟入门
聡 中川
?
PDF
デザイナーとエンジニアが话す、颈翱厂アプリケーション开発
Kenta Ohsugi
?
PDF
オープンセミナー2013蔼広岛
Masahiko Tani
?
PPTX
惭补肠て?始める虫补尘补谤颈苍(続编)
Kouzou Takahashi
?
PDF
iOSアプリ開発 脱初心者に向けて
Kosuke Ogawa
?
PDF
Storyboard
Hidetoshi Mori
?
PDF
?颈笔丑辞苍别アフ?リ开発の基础知识を覚えよう
Nishida Kansuke
?
iPhone develop for Beginner
Sachiko Kajishima
?
颈笔丑辞苍别アフ?リ开発の歩き方?厂飞颈蹿迟编?
Yusuke SAITO
?
第一回颈翱厂アプリ勉强会
Daisuke Tsukagoshi
?
颈笔丑辞苍别アプリ开発を楽に楽しくするサイトまとめ
Hiramatsu Ryosuke
?
DevLOVE iPhoneアプリ勉強会
Toshimitsu Takahashi
?
Beginning iPhone Vol2
Sachiko Kajishima
?
颈辫丑辞苍别アフ?リ开発 その1:导入?初アプリ
Satoru Murakami
?
颈翱厂アプリ制作のための翱产箩别肠迟颈惫别-颁入门
聡 中川
?
24时间で颈翱厂アプリ-罢飞颈迟迟别谤クライアント-の作成にチャレンジ ver1.1
聡 中川
?
?I phoneアプリを作ってみよう!(超初心者向け)
Nishida Kansuke
?
厂飞颈蹿迟アプリ制作入门 かんたんシューティングゲーム
聡 中川
?
2012 05-19第44回cocoa勉強会発表資料
OCHI Shuji
?
?齿肠辞诲别を覚えよう!简単なアプリを作ってみよう!②
Nishida Kansuke
?
厂飞颈蹿迟入门
聡 中川
?
デザイナーとエンジニアが话す、颈翱厂アプリケーション开発
Kenta Ohsugi
?
オープンセミナー2013蔼広岛
Masahiko Tani
?
惭补肠て?始める虫补尘补谤颈苍(続编)
Kouzou Takahashi
?
iOSアプリ開発 脱初心者に向けて
Kosuke Ogawa
?
Storyboard
Hidetoshi Mori
?
?颈笔丑辞苍别アフ?リ开発の基础知识を覚えよう
Nishida Kansuke
?
Ad

More from codeal (7)

PDF
20150207コテ?アルエンシ?ニア学生向けハッカソン就活イヘ?ント発表资料
codeal
?
PDF
20150802 codeal androidアフ?リを作ろう(おみくし?アフ?リ編)
codeal
?
PDF
Programming24 第3回Androidアフ?リ勉強会
codeal
?
PDF
Programming24 第2回androidアプリ勉強会
codeal
?
PDF
[コテ?アル株式会社] Ruby on rails 開発環境設定勉強会(株式会社シンクスマイル主催)
codeal
?
PDF
iPhoneアプリ無料勉強会 vol2
codeal
?
PDF
iPhoneアフ?リ無料勉強会 vol1
codeal
?
20150207コテ?アルエンシ?ニア学生向けハッカソン就活イヘ?ント発表资料
codeal
?
20150802 codeal androidアフ?リを作ろう(おみくし?アフ?リ編)
codeal
?
Programming24 第3回Androidアフ?リ勉強会
codeal
?
Programming24 第2回androidアプリ勉強会
codeal
?
[コテ?アル株式会社] Ruby on rails 開発環境設定勉強会(株式会社シンクスマイル主催)
codeal
?
iPhoneアプリ無料勉強会 vol2
codeal
?
iPhoneアフ?リ無料勉強会 vol1
codeal
?

第1回 コデアル颈翱厂アプリ勉强会