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

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

2,307 views

Published on

勉強会「iOSアプリ制作のためのObjective-C入門」
http://atnd.org/event/osieteiosobjc
説明補助スライド

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,307
On SlideShare
0
From Embeds
0
Number of Embeds
47
Actions
Shares
0
Downloads
16
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

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

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

×