SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
iOSアプリ制作のための
Objective-C入門
中川 聡
nakasen_20th
13年7月11日木曜日
ねらい
最近 iOS アプリ開発を「やりたくなった」
最近 iOS アプリ開発を「やらなければならなくなった」
「とにかく慣れていただきましょう」
13年7月11日木曜日
本日やること
質問シート型のアプリを作成
1. まずは1行もプログラムを書かずに
2. 次にGUIツールを全く使わずに
✴ 本日のリソースは全てGitHubに上がってます!
https://github.com/nakasen/iOS_Seminar_for_beginners
13年7月11日木曜日
どんなアプリ?
国内
海外
13年7月11日木曜日
Storyboardのみで作る
赤線の部分
重要
13年7月11日木曜日
テンプレート選び
新規プロジェクトの際テンプレート選びが重要
今回は(たいていの場合は)「iOS」→「Application」
→「Single View Application」
間違えて選んだことにあとで気付いたら、ジタバタする
より作り直した方が早い(初心者のうちは)
13年7月11日木曜日
Storyboardでのキーワード
説明に必要なのでこれだけは。(赤枠内から)
Navigator Area Utilities Area
Standard Editor Assistant Editor
Project Navigator
Attributes inspector Size inspector Connections inspector
Object library Media library
13年7月11日木曜日
Storyboardでの作業
Object library から UIパーツを選んで View 上に貼る
(これは簡単。失敗したら Command + Z)
オブジェクトから Control + ドラッグでひもづけ
(これは・・・間違えないように。ミスは後々響く)
(見て覚えて体で覚える。忘れたらGitHubの「Manual.txt」を見ましょう)
13年7月11日木曜日
Storyboardを一切使わない
「iOS」→「Application」→「Empty Application」
必要なキーワードが増えます。
Debug Area
Search Navigator Issue Navigator Debug Navigator
File inspector Quick Help inspector
13年7月11日木曜日
何を書かないといけないの?
とりあえず動かしてみる
Debug Area になんと書いてある?
足りないものをコードで生成してみる
13年7月11日木曜日
やっとObjective-C
アプリケーションの起動プロセスを知る
A Day In The Life
「iOS アプリの構造がどのようになっているか紐解いてみる」
の記事が素晴らしい! (こんなにわかりやすく書けない)
AppDelegate.m で UIWindow オブジェクトを生成
Root View Controller の役割を果たすものが必要
13年7月11日木曜日
Objective-Cの特徴
Cとオブジェクト指向のハイブリッド言語
メソッドの定義、呼び出し方が独特
あとは普通に動的オブジェクト指向言語です
元がC言語なので、書く側のモラルは当然必要
13年7月11日木曜日
Objective-Cのメソッド
• 定義
- (NSString *)addString:(NSString *)string1 nextString:(NSString *)string2
{
NSString *compositeString = string1;
compositeString = [compositeString stringByAppendingString:string2];
return compositeString;
}
• 呼び出し
NSString *displayString = [self addString:@"ABC" nextString:@"DEF"];
13年7月11日木曜日
メソッド呼び出し
• メソッドの引数をメソッドで呼び出し
int number = 123;
NSString *displayString =
[self addString:@"ABC" nextString:[NSString stringWithFormat:@"%d", number]];
13年7月11日木曜日
View Controller
Window には Root View Controller が必要
View Controller には最低一枚の View が必要
UI パーツは View に addSubview
13年7月11日木曜日
UIKit フレームワーク
UI 処理は UIKit フレームワークにおまかせ
UIWindow UIViewController UINavigationController
UILabel UIButton ・・・
Apple 公式ドキュメント
「iOS ヒューマンインターフェースガイドライン」
は膨大なユーザテストの成果物
13年7月11日木曜日
Xcodeの強みを活かす
Jump to Definition は使える!
(ソースコードを右クリック)
補完もかなりイケる!
Quick Help も親切!
UIKit オブジェクトを Jump to Definition と Quick Help
で追いかけて行けば、Objective-C の習得にもつながる
13年7月11日木曜日
プロパティ
インスタンスのアクセサメソッドを自動生成
getter メソッド名はインスタンス名そのまま
setter メソッド名は set + 大文字で始まるインスタンス名
ドットシンタックスでアクセスできる
→ メソッド呼び出しソースの読みにくさを緩和
13年7月11日木曜日
NSLog とブレークポイント
デバッグ時のダンプには NSLog() 関数
NSLog(@"displayString = %@", displayString);
ブレークポイント設定時、設定したこと忘れないで
13年7月11日木曜日
スコープなど
@private、@protected、@public
(デフォルトは@protected)
ある方法を使うと隠 は破られる 気をつけましょう
外部クラスのオブジェクトへのアクセスは通知が基本
通知の方法はおよそ3通り 次回以降の勉強会で
13年7月11日木曜日

Más contenido relacionado

Destacado (20)

Eseka Project
Eseka ProjectEseka Project
Eseka Project
 
Access power point
Access power pointAccess power point
Access power point
 
งานคอมใบ 2 8
งานคอมใบ 2 8งานคอมใบ 2 8
งานคอมใบ 2 8
 
Pat2
Pat2Pat2
Pat2
 
AW 学び続ける力 スライド
AW 学び続ける力 スライドAW 学び続ける力 スライド
AW 学び続ける力 スライド
 
Logik 1
Logik 1Logik 1
Logik 1
 
Rx level sub mumbai bm decæ13 drive without site name
Rx level sub mumbai bm decæ13 drive without site nameRx level sub mumbai bm decæ13 drive without site name
Rx level sub mumbai bm decæ13 drive without site name
 
ปี2552
ปี2552ปี2552
ปี2552
 
ปี2554
ปี2554ปี2554
ปี2554
 
Quotes
QuotesQuotes
Quotes
 
งานคู่ 13 16
งานคู่ 13 16งานคู่ 13 16
งานคู่ 13 16
 
Desfile
DesfileDesfile
Desfile
 
0 kscl de_chung
0 kscl de_chung0 kscl de_chung
0 kscl de_chung
 
The Register Media Pack - 2013
The Register Media Pack - 2013The Register Media Pack - 2013
The Register Media Pack - 2013
 
Briancheong resume
Briancheong resumeBriancheong resume
Briancheong resume
 
งานคู่ 9 16
งานคู่ 9 16งานคู่ 9 16
งานคู่ 9 16
 
เฉลย2554
เฉลย2554เฉลย2554
เฉลย2554
 
Brillen en lenzen
Brillen en lenzenBrillen en lenzen
Brillen en lenzen
 
Hairspray scf
Hairspray scfHairspray scf
Hairspray scf
 
Circular reference
Circular referenceCircular reference
Circular reference
 

Similar a iOSアプリ制作のためのObjective-C入門

XPagesDay 2014【B 1】最新のモバイル ui を瞬時に作成 〜x controlsのご紹介〜
XPagesDay 2014【B 1】最新のモバイル ui を瞬時に作成 〜x controlsのご紹介〜XPagesDay 2014【B 1】最新のモバイル ui を瞬時に作成 〜x controlsのご紹介〜
XPagesDay 2014【B 1】最新のモバイル ui を瞬時に作成 〜x controlsのご紹介〜
Mitsuru Katoh
 
[Android]趣味プログラマーな非エンジニアにアプリ開発を教える
[Android]趣味プログラマーな非エンジニアにアプリ開発を教える[Android]趣味プログラマーな非エンジニアにアプリ開発を教える
[Android]趣味プログラマーな非エンジニアにアプリ開発を教える
ichigotake .
 
いまどきのiOSプログラミング with Xcode5
いまどきのiOSプログラミング with Xcode5いまどきのiOSプログラミング with Xcode5
いまどきのiOSプログラミング with Xcode5
Shin Ise
 
iTamabi13 第1回: イントロダクション・開発環境の準備
iTamabi13 第1回: イントロダクション・開発環境の準備iTamabi13 第1回: イントロダクション・開発環境の準備
iTamabi13 第1回: イントロダクション・開発環境の準備
Atsushi Tadokoro
 
テレニコツイ
テレニコツイテレニコツイ
テレニコツイ
jz5 MATSUE
 

Similar a iOSアプリ制作のためのObjective-C入門 (20)

iPhoneアプリ無料勉強会 vol3
iPhoneアプリ無料勉強会 vol3iPhoneアプリ無料勉強会 vol3
iPhoneアプリ無料勉強会 vol3
 
iPhone develop for Beginner
iPhone develop for BeginneriPhone develop for Beginner
iPhone develop for Beginner
 
XPagesDay 2014【B 1】最新のモバイル ui を瞬時に作成 〜x controlsのご紹介〜
XPagesDay 2014【B 1】最新のモバイル ui を瞬時に作成 〜x controlsのご紹介〜XPagesDay 2014【B 1】最新のモバイル ui を瞬時に作成 〜x controlsのご紹介〜
XPagesDay 2014【B 1】最新のモバイル ui を瞬時に作成 〜x controlsのご紹介〜
 
はじめてのi osアプリデザイン
はじめてのi osアプリデザインはじめてのi osアプリデザイン
はじめてのi osアプリデザイン
 
スマホアプリの"手触り"や"美的センス"について~WebSig会議 vol.33:1stセッション
スマホアプリの"手触り"や"美的センス"について~WebSig会議 vol.33:1stセッションスマホアプリの"手触り"や"美的センス"について~WebSig会議 vol.33:1stセッション
スマホアプリの"手触り"や"美的センス"について~WebSig会議 vol.33:1stセッション
 
Ui研究会#1
Ui研究会#1Ui研究会#1
Ui研究会#1
 
オープンセミナー2013@広島
オープンセミナー2013@広島オープンセミナー2013@広島
オープンセミナー2013@広島
 
[Android]趣味プログラマーな非エンジニアにアプリ開発を教える
[Android]趣味プログラマーな非エンジニアにアプリ開発を教える[Android]趣味プログラマーな非エンジニアにアプリ開発を教える
[Android]趣味プログラマーな非エンジニアにアプリ開発を教える
 
いまどきのiOSプログラミング with Xcode5
いまどきのiOSプログラミング with Xcode5いまどきのiOSプログラミング with Xcode5
いまどきのiOSプログラミング with Xcode5
 
iTamabi13 第1回: イントロダクション・開発環境の準備
iTamabi13 第1回: イントロダクション・開発環境の準備iTamabi13 第1回: イントロダクション・開発環境の準備
iTamabi13 第1回: イントロダクション・開発環境の準備
 
コミュニティアプリのリニューアルから考えた モバイルUXデザインとUIデザイン
コミュニティアプリのリニューアルから考えた モバイルUXデザインとUIデザインコミュニティアプリのリニューアルから考えた モバイルUXデザインとUIデザイン
コミュニティアプリのリニューアルから考えた モバイルUXデザインとUIデザイン
 
Weekend Androidのススメ
Weekend AndroidのススメWeekend Androidのススメ
Weekend Androidのススメ
 
Potatotips3 hoshi gaki_akira_iwaya
Potatotips3 hoshi gaki_akira_iwayaPotatotips3 hoshi gaki_akira_iwaya
Potatotips3 hoshi gaki_akira_iwaya
 
夜子まま塾@鹿児島
夜子まま塾@鹿児島夜子まま塾@鹿児島
夜子まま塾@鹿児島
 
iOSアプリ開発で意識すると役立ちそうな「つなぎ目」の部分について
iOSアプリ開発で意識すると役立ちそうな「つなぎ目」の部分についてiOSアプリ開発で意識すると役立ちそうな「つなぎ目」の部分について
iOSアプリ開発で意識すると役立ちそうな「つなぎ目」の部分について
 
テレニコツイ
テレニコツイテレニコツイ
テレニコツイ
 
小さな会社(チーム)で クールなアプリをつくる方法 Gunosy UI Design Study #1
小さな会社(チーム)で クールなアプリをつくる方法 Gunosy UI Design Study #1小さな会社(チーム)で クールなアプリをつくる方法 Gunosy UI Design Study #1
小さな会社(チーム)で クールなアプリをつくる方法 Gunosy UI Design Study #1
 
Starlingで何本かゲームを作ってみての感想[第3回 東京ひよこの会]
Starlingで何本かゲームを作ってみての感想[第3回 東京ひよこの会]Starlingで何本かゲームを作ってみての感想[第3回 東京ひよこの会]
Starlingで何本かゲームを作ってみての感想[第3回 東京ひよこの会]
 
第一回iOSアプリ勉強会
第一回iOSアプリ勉強会第一回iOSアプリ勉強会
第一回iOSアプリ勉強会
 
「Camelog」Android開発秘話
「Camelog」Android開発秘話「Camelog」Android開発秘話
「Camelog」Android開発秘話
 

Más de 聡 中川

先端技術 プレテスト
先端技術 プレテスト先端技術 プレテスト
先端技術 プレテスト
聡 中川
 
先端技術 No sql
先端技術 No sql先端技術 No sql
先端技術 No sql
聡 中川
 
先端技術 Hft
先端技術 Hft先端技術 Hft
先端技術 Hft
聡 中川
 
先端技術 データサイエンティスト
先端技術 データサイエンティスト先端技術 データサイエンティスト
先端技術 データサイエンティスト
聡 中川
 
先端技術トピックス 言語ランキング
先端技術トピックス 言語ランキング先端技術トピックス 言語ランキング
先端技術トピックス 言語ランキング
聡 中川
 
先端技術 競技プログラミング
先端技術 競技プログラミング先端技術 競技プログラミング
先端技術 競技プログラミング
聡 中川
 
先端技術 スーパーコンピュータ
先端技術 スーパーコンピュータ先端技術 スーパーコンピュータ
先端技術 スーパーコンピュータ
聡 中川
 
先端技術 セキュリティ最前線
先端技術 セキュリティ最前線先端技術 セキュリティ最前線
先端技術 セキュリティ最前線
聡 中川
 
先端技術 関数型プログラミング
先端技術 関数型プログラミング先端技術 関数型プログラミング
先端技術 関数型プログラミング
聡 中川
 
先端技術 気象とコンピュータ
先端技術 気象とコンピュータ先端技術 気象とコンピュータ
先端技術 気象とコンピュータ
聡 中川
 
先端技術 量子コンピュータ
先端技術 量子コンピュータ先端技術 量子コンピュータ
先端技術 量子コンピュータ
聡 中川
 
先端技術ガイダンス
先端技術ガイダンス先端技術ガイダンス
先端技術ガイダンス
聡 中川
 
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.1
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.124時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.1
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.1
聡 中川
 

Más de 聡 中川 (16)

Swift入門
Swift入門Swift入門
Swift入門
 
Swiftアプリ制作入門 かんたんシューティングゲーム
Swiftアプリ制作入門 かんたんシューティングゲームSwiftアプリ制作入門 かんたんシューティングゲーム
Swiftアプリ制作入門 かんたんシューティングゲーム
 
先端技術 プレテスト
先端技術 プレテスト先端技術 プレテスト
先端技術 プレテスト
 
先端技術 No sql
先端技術 No sql先端技術 No sql
先端技術 No sql
 
先端技術 Hft
先端技術 Hft先端技術 Hft
先端技術 Hft
 
先端技術 データサイエンティスト
先端技術 データサイエンティスト先端技術 データサイエンティスト
先端技術 データサイエンティスト
 
先端技術トピックス 言語ランキング
先端技術トピックス 言語ランキング先端技術トピックス 言語ランキング
先端技術トピックス 言語ランキング
 
先端技術 競技プログラミング
先端技術 競技プログラミング先端技術 競技プログラミング
先端技術 競技プログラミング
 
先端技術 スーパーコンピュータ
先端技術 スーパーコンピュータ先端技術 スーパーコンピュータ
先端技術 スーパーコンピュータ
 
先端技術 セキュリティ最前線
先端技術 セキュリティ最前線先端技術 セキュリティ最前線
先端技術 セキュリティ最前線
 
先端技術 関数型プログラミング
先端技術 関数型プログラミング先端技術 関数型プログラミング
先端技術 関数型プログラミング
 
先端技術 気象とコンピュータ
先端技術 気象とコンピュータ先端技術 気象とコンピュータ
先端技術 気象とコンピュータ
 
先端技術 量子コンピュータ
先端技術 量子コンピュータ先端技術 量子コンピュータ
先端技術 量子コンピュータ
 
先端技術ガイダンス
先端技術ガイダンス先端技術ガイダンス
先端技術ガイダンス
 
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.1
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.124時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.1
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.1
 
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ
 

Último

Último (11)

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

iOSアプリ制作のためのObjective-C入門