SlideShare a Scribd company logo
1 of 22
Download to read offline
iOSアプリ開発講座
いのうぇ

13年12月19日木曜日
講師プロフィール
いのうぇ
北海道旭川市出身
岩手県立大学大学院進学予定
iOSアプリ「もりけん入門クイズ」リリース

13年12月19日木曜日
今日の内容

iOSアプリ開発!

13年12月19日木曜日
iOSアプリ開発概要

言語:Objective-C
開発環境:Xcode

13年12月19日木曜日
みなさん
Objective-C
やったことありますか?

13年12月19日木曜日
Objective-Cのコード例
@は何?
[]?
クラス2つ?

馴染みのない
記述

13年12月19日木曜日
Objective-Cって
ハイブリッド型のオブジェクト指向
手続き型のC言語にオブジェクト機能を追加し
たもの
C++は抜本的な言語仕様の改変
Objective-Cは基となる言語の記述法を保持し
つつ新たな側面を付与する拡張

13年12月19日木曜日
影響を受けている言語
Smalltalkの影響を受ける
オブジェクト指向の元祖
オブジェクトにメッセージを送る
メッセージ方式

13年12月19日木曜日
13年12月19日木曜日
フレームワーク
GUIのパーツやOSの機能を利用するライブラリ群
それらアプリケーションからアクセスするAPI郡
アプリケーションの実行環境

UIKit

Cocoa Touch

#import <UIKit/UIKit.h>
13年12月19日木曜日

Foundation
データ型
基本データ型とオブジェクト型
オブジェクト型とは
クラス名 *変数名;
NSString, NSDate, NSTimer, NSObject

13年12月19日木曜日
オブジェクト指向
プログラム対象を「物」としてとらえる
ひな形のクラスをもとに使用可能状態(イン
スタンス化)にする
使用可能な状態になったオブジェクトをイ
ンスタンスという

13年12月19日木曜日
利用するオブジェクト

NSObjectが全てのクラスの祖先になる
全てのクラスがNSObjectを継承している

13年12月19日木曜日
ファイル構成
インターフェースセクション(.h)
宣言部(インスタンス変数、メソッド宣言)
インプリメントセクション(.m)
実装部(メソッドの定義)

13年12月19日木曜日
とりあえずやってみよう

13年12月19日木曜日
サンプルコード
NSString *str;
str = [[NSString alloc] initWithString:@"Hello World."];

NSLog(@"%@", str);

13年12月19日木曜日
メソッドを呼び出す書式
引数を取らないメソッド
変数 = [インスタンス メッセージ];
[インスタンス メッセージ];
引数を一つ取るメソッド
[インスタンス メソッド名:引数];

13年12月19日木曜日
メソッドの表記

13年12月19日木曜日
メソッドの表記
- (id)initWithString:(NSString *)aString

- インスタンスメソッド
+ クラスメソッド

13年12月19日木曜日
イニシャライザ
インスタンスを初期化するメソッド
initで始まるメソッドのこと
[[NSString alloc] init]
initWithStringもイニシャライザ

13年12月19日木曜日
コンビニエンスコンストラクタ
allocメソッド + イニシャライザが通常
クラスによって↑を1つのメソッドで行なう「便利なコ
ンストラクタ」がある
「NS」で始まるクラス名の場合にはそれを取り除い
て、先頭を小文字にした「data」ではじまる

NSDate *today = [[NSDate alloc] init];
NSDate *today = [NSDate date];
13年12月19日木曜日
アクセッサメソッド
インスタンス変数の値を取得・設定するとき
に利用するメソッド
値を設定する(セッターメソッド)
値を取得する(ゲッターメソッド)

13年12月19日木曜日

More Related Content

Viewers also liked

Viewers also liked (20)

C言語超入門
C言語超入門C言語超入門
C言語超入門
 
C言語講習会1
C言語講習会1C言語講習会1
C言語講習会1
 
Kotlin/Golang Developer seminor. 「Androidが生み出す開発言語の多様性」 リックテレコム主催
Kotlin/Golang Developer seminor. 「Androidが生み出す開発言語の多様性」 リックテレコム主催Kotlin/Golang Developer seminor. 「Androidが生み出す開発言語の多様性」 リックテレコム主催
Kotlin/Golang Developer seminor. 「Androidが生み出す開発言語の多様性」 リックテレコム主催
 
基礎知識3「ドローンの飛ばし方」
基礎知識3「ドローンの飛ばし方」基礎知識3「ドローンの飛ばし方」
基礎知識3「ドローンの飛ばし方」
 
Scala勉強会 初心者向けハンズオン前編
Scala勉強会 初心者向けハンズオン前編Scala勉強会 初心者向けハンズオン前編
Scala勉強会 初心者向けハンズオン前編
 
1-1_C言語入門 - C言語について
1-1_C言語入門 - C言語について1-1_C言語入門 - C言語について
1-1_C言語入門 - C言語について
 
Scalaで学ぶ関数型言語超入門
Scalaで学ぶ関数型言語超入門Scalaで学ぶ関数型言語超入門
Scalaで学ぶ関数型言語超入門
 
3_C言語入門 - C言語の基本
3_C言語入門 - C言語の基本3_C言語入門 - C言語の基本
3_C言語入門 - C言語の基本
 
Linuxベースのオープンソース フライトコントローラーの概要( #ABC2015S )
Linuxベースのオープンソース フライトコントローラーの概要( #ABC2015S )Linuxベースのオープンソース フライトコントローラーの概要( #ABC2015S )
Linuxベースのオープンソース フライトコントローラーの概要( #ABC2015S )
 
ドローンの仕組み( #ABC2015S )
ドローンの仕組み( #ABC2015S )ドローンの仕組み( #ABC2015S )
ドローンの仕組み( #ABC2015S )
 
基礎知識5「ドローン運用に必要なこと」
基礎知識5「ドローン運用に必要なこと」基礎知識5「ドローン運用に必要なこと」
基礎知識5「ドローン運用に必要なこと」
 
Webアプリケーション負荷試験実践入門
Webアプリケーション負荷試験実践入門Webアプリケーション負荷試験実践入門
Webアプリケーション負荷試験実践入門
 
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
偶然にも500万個のSSH公開鍵を手に入れた俺たちは偶然にも500万個のSSH公開鍵を手に入れた俺たちは
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
 
Scalaはじめました!
Scalaはじめました!Scalaはじめました!
Scalaはじめました!
 
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
 
Scala超入門 - 2014/12/13 Scala関西勉強会
Scala超入門 - 2014/12/13 Scala関西勉強会Scala超入門 - 2014/12/13 Scala関西勉強会
Scala超入門 - 2014/12/13 Scala関西勉強会
 
中の下のエンジニアを脱出するための仕事術
中の下のエンジニアを脱出するための仕事術中の下のエンジニアを脱出するための仕事術
中の下のエンジニアを脱出するための仕事術
 
ウェブパフォーマンスの基礎とこれから
ウェブパフォーマンスの基礎とこれからウェブパフォーマンスの基礎とこれから
ウェブパフォーマンスの基礎とこれから
 
運用に自動化を求めるのは間違っているだろうか
運用に自動化を求めるのは間違っているだろうか運用に自動化を求めるのは間違っているだろうか
運用に自動化を求めるのは間違っているだろうか
 
プログラマのための線形代数再入門
プログラマのための線形代数再入門プログラマのための線形代数再入門
プログラマのための線形代数再入門
 

Similar to iOSアプリ開発講座

Similar to iOSアプリ開発講座 (12)

プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1
 
ソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみた
 
オープンセミナー2013@広島
オープンセミナー2013@広島オープンセミナー2013@広島
オープンセミナー2013@広島
 
iPhoneアプリを作ってみよう
iPhoneアプリを作ってみようiPhoneアプリを作ってみよう
iPhoneアプリを作ってみよう
 
PhoneGap Introduction
PhoneGap IntroductionPhoneGap Introduction
PhoneGap Introduction
 
Potatotips3 hoshi gaki_akira_iwaya
Potatotips3 hoshi gaki_akira_iwayaPotatotips3 hoshi gaki_akira_iwaya
Potatotips3 hoshi gaki_akira_iwaya
 
iPhone develop for Beginner
iPhone develop for BeginneriPhone develop for Beginner
iPhone develop for Beginner
 
Androidとの同時開発だけどモデルをC++で書けば問題ないよねっ
Androidとの同時開発だけどモデルをC++で書けば問題ないよねっAndroidとの同時開発だけどモデルをC++で書けば問題ないよねっ
Androidとの同時開発だけどモデルをC++で書けば問題ないよねっ
 
iOS側のUIの特徴と見比べるAndroid側でのUI実装のヒント
iOS側のUIの特徴と見比べるAndroid側でのUI実装のヒントiOS側のUIの特徴と見比べるAndroid側でのUI実装のヒント
iOS側のUIの特徴と見比べるAndroid側でのUI実装のヒント
 
スマホキャンプサマー2012:ANEとアプリ内課金に挑戦
スマホキャンプサマー2012:ANEとアプリ内課金に挑戦スマホキャンプサマー2012:ANEとアプリ内課金に挑戦
スマホキャンプサマー2012:ANEとアプリ内課金に挑戦
 
The evolution of c#
The evolution of c#The evolution of c#
The evolution of c#
 
Size class 20150521
Size class 20150521Size class 20150521
Size class 20150521
 

Recently uploaded

Recently uploaded (11)

論文紹介: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
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: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...
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介: 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
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 

iOSアプリ開発講座