SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
\これからはじめる人のための/ 
Swift Playground 入門 
第1回 Swift_LT 会 / @himara2
・@himara2 
自己紹介 
・六本木でiOSアプリをつくってます 
・Swift好きです
Swift? 
・WWDC 2014で発表された(6月) 
・iOS / OS Xアプリ開発ができる新しい言語 
・これまで通りObjective-Cで書くこともできる 
・「Swiftはあなたを写し出す鏡」
Swift? 
Objective-C 
[self someMethodWithString:@"A" from:@"B"]; 
Swift 
self.someMethod("A", "B")
Swift Playground? 
・Xcode 6 から追加された 
・InteractiveにSwiftを試せる 
・Swiftの勉強に最適 
・プログラミングを教える際にも便利
Ready 
Playgroundの画面を開く 
1. Xcodeを起動 
2.「Get started with a playground」を選択
Ready 
UIKitを使えるようにする 
1. 右のペインを開いて、Platformを「iOS」に 
2. 「import UIKit」を宣言
あとは動かすだけ!
Swift Playground ! 
画像を表示させたり 
var imageUrl: String = "http://img.tiqav.com/1oM.jpg" 
! 
var imageURL: NSURL = NSURL.URLWithString(imageUrl) 
var imageData: NSData = NSData(contentsOfURL: imageURL) 
! 
var image: UIImage = UIImage(data: imageData)
Swift Playground ! 
ループの処理はグラフになったり 
for i in 1..50 { 
i % 4 
}
Swift Playground ! 
UIKitの見た目のチューニングをしたり 
class DataSource : NSObject, UITableViewDataSource { 
func tableView(tableView: UITableView!, numberOfRowsInSection section: Int) -> 
Int { 
return 3 
} 
func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: 
NSIndexPath!) -> UITableViewCell! { 
var cell: UITableViewCell = UITableViewCell(frame: CGRectMake(0, 0, 320, 
44), 
reuseIdentifier: "Cell") 
cell.textLabel.text = "Hello" 
return cell 
} 
} 
var tableView:UITableView = UITableView(frame: CGRectMake(0, 0, 320, 320), 
style: UITableViewStyle.Plain) 
var ds: DataSource = DataSource() 
tableView.dataSource = ds 
! 
tableView.reloadData()
Swift Playground ! 
複雑な書き方を練習したり 
func foo(callback:(String -> String)) -> (String -> String) { 
var tempResult = callback("hello") 
return { str in return tempResult + str; } 
} 
!! 
let resultFunc = foo({str in return str.uppercaseString}); 
resultFunc(" WORLD");
最高便利
まとめ
Swift Playground 
・フィードバックがすぐに見えて楽しい 
・ロジック部分などをサッと作ってみるのに便利 
・Swiftは勿論、プログラムの勉強にも良さそう
Swift Playground 
・自作のカスタムクラスはつかえない 
・UIButtonなどのイベント処理はできない 
・パフォーマンステストに使うのは×
参考資料
参考資料 
・Appleの公式ドキュメント 
・The Swift Programming Language 
# プログラミング言語としての特徴の話 
・Using Swift With Cocoa and Objective-C 
# 既存のObjCとはどう共存するか?の話 
iBooksで出ているのでiPhoneに入れて通勤中に読める
参考資料 
・WWDCセッションビデオ 
とりあえず 
・Introduction to Swift 
・Swift Playgrounds 
w/ ObjC 
・Integrating Swift with Objective-C 
発展 
・Intermediate Swift 
・Swift Interoperability in Depth 
・Advanced Swift
参考資料 
・こんにゃくマガジン 
Swiftで初めて動きのあるゲームを開発する人向けチュートリアル 
(なんとかストライクを例にStep by Step解説) 
・プログラミング言語Swift日本語チュートリアル ~ 前編 
# Swiftの基本文法を日本語で。特徴を俯瞰できる
参考資料 
・先取り!Swift (Kindle本) 
・Amazon リンク 
・日本語 / 初学者向け 
・600yen 
# 買ってないけど安定のクラスメソッドさん!
参考資料 
・Swift Facebook ページ 
・https://www.facebook.com/pages/Swift/1475908685980132 
# いいね!しておくと勉強会や最新の情報が受け取れる
このスライドはWWDCセッション 
「Swift Playground」を参考に作られました。
おわり

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Xcode 6の新機能
Xcode 6の新機能Xcode 6の新機能
Xcode 6の新機能
 
【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!
 
Xcode 7 の新しいところ #cm_ios9
Xcode 7 の新しいところ #cm_ios9Xcode 7 の新しいところ #cm_ios9
Xcode 7 の新しいところ #cm_ios9
 
可変値変数 var を極力避けることを模索するための事前知識 #cswift
可変値変数 var を極力避けることを模索するための事前知識 #cswift可変値変数 var を極力避けることを模索するための事前知識 #cswift
可変値変数 var を極力避けることを模索するための事前知識 #cswift
 
もしiOS8のカスタムキーボードがガジェットのSDKを搭載したら Ver.#ios8yahoo
もしiOS8のカスタムキーボードがガジェットのSDKを搭載したら Ver.#ios8yahooもしiOS8のカスタムキーボードがガジェットのSDKを搭載したら Ver.#ios8yahoo
もしiOS8のカスタムキーボードがガジェットのSDKを搭載したら Ver.#ios8yahoo
 
Swift : クラス継承とプロトコル拡張を比べてみる #yidev
Swift : クラス継承とプロトコル拡張を比べてみる #yidevSwift : クラス継承とプロトコル拡張を比べてみる #yidev
Swift : クラス継承とプロトコル拡張を比べてみる #yidev
 
Swift ドキュメントコメント
Swift ドキュメントコメントSwift ドキュメントコメント
Swift ドキュメントコメント
 
Uiテスト@yidev
Uiテスト@yidevUiテスト@yidev
Uiテスト@yidev
 
Swiftの実際ダメな所
Swiftの実際ダメな所Swiftの実際ダメな所
Swiftの実際ダメな所
 
Swift を振り返ってみよう #cswift
Swift を振り返ってみよう #cswiftSwift を振り返ってみよう #cswift
Swift を振り返ってみよう #cswift
 
Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門
 
TypeScript による今風の web アプリ開発
TypeScript による今風の web アプリ開発TypeScript による今風の web アプリ開発
TypeScript による今風の web アプリ開発
 
JS Board で IoT は楽勝か?
JS Board で IoT は楽勝か?JS Board で IoT は楽勝か?
JS Board で IoT は楽勝か?
 
楽しいVR空間を作る技術と支える技術 #osc19do
楽しいVR空間を作る技術と支える技術 #osc19do楽しいVR空間を作る技術と支える技術 #osc19do
楽しいVR空間を作る技術と支える技術 #osc19do
 
Win32 APIをてなずけよう
Win32 APIをてなずけようWin32 APIをてなずけよう
Win32 APIをてなずけよう
 
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶjQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
 
Swift の可変値と不変値 〜 前回の続き(おまけ)〜 #cocoa_kansai
Swift の可変値と不変値 〜 前回の続き(おまけ)〜 #cocoa_kansaiSwift の可変値と不変値 〜 前回の続き(おまけ)〜 #cocoa_kansai
Swift の可変値と不変値 〜 前回の続き(おまけ)〜 #cocoa_kansai
 
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
 
TypeScriptをオススメする理由
TypeScriptをオススメする理由TypeScriptをオススメする理由
TypeScriptをオススメする理由
 
パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理
 

Andere mochten auch

Andere mochten auch (8)

OpenCV 3.0 on iOS
OpenCV 3.0 on iOSOpenCV 3.0 on iOS
OpenCV 3.0 on iOS
 
Swift本ができるまで
Swift本ができるまでSwift本ができるまで
Swift本ができるまで
 
WebApiを利用する際のOptional Bindingやクロージャを駆使したSwiftらしいコードの書き方
WebApiを利用する際のOptional Bindingやクロージャを駆使したSwiftらしいコードの書き方WebApiを利用する際のOptional Bindingやクロージャを駆使したSwiftらしいコードの書き方
WebApiを利用する際のOptional Bindingやクロージャを駆使したSwiftらしいコードの書き方
 
Swiftで多層型で戻り値を返すことの是非と雑談
Swiftで多層型で戻り値を返すことの是非と雑談Swiftで多層型で戻り値を返すことの是非と雑談
Swiftで多層型で戻り値を返すことの是非と雑談
 
CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜
CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜
CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜
 
iOS の通信における認証の種類とその取り扱い
iOS の通信における認証の種類とその取り扱いiOS の通信における認証の種類とその取り扱い
iOS の通信における認証の種類とその取り扱い
 
Advanced realm in swift
Advanced realm in swiftAdvanced realm in swift
Advanced realm in swift
 
FINAL FANTASY Record Keeper の作り方
FINAL FANTASY Record Keeper の作り方FINAL FANTASY Record Keeper の作り方
FINAL FANTASY Record Keeper の作り方
 

Ähnlich wie これからはじめる SwiftPlayground入門

デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 1: openFrameworks入門
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 1: openFrameworks入門デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 1: openFrameworks入門
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 1: openFrameworks入門
Atsushi Tadokoro
 

Ähnlich wie これからはじめる SwiftPlayground入門 (20)

ようこそ! Swift Playgroundsへ
ようこそ! Swift Playgroundsへようこそ! Swift Playgroundsへ
ようこそ! Swift Playgroundsへ
 
Swiftのアプリ開発でハマったこと
Swiftのアプリ開発でハマったことSwiftのアプリ開発でハマったこと
Swiftのアプリ開発でハマったこと
 
SwiftのOptionalを理解する
SwiftのOptionalを理解するSwiftのOptionalを理解する
SwiftのOptionalを理解する
 
Swift 2.0 で変わったところ「後編」 #cswift
Swift 2.0 で変わったところ「後編」 #cswiftSwift 2.0 で変わったところ「後編」 #cswift
Swift 2.0 で変わったところ「後編」 #cswift
 
SwiftのOptionalを理解する
SwiftのOptionalを理解するSwiftのOptionalを理解する
SwiftのOptionalを理解する
 
Swift
SwiftSwift
Swift
 
Wolcome to swift
Wolcome to swiftWolcome to swift
Wolcome to swift
 
yidev 第18回勉強会 「業務でSwiftで3ヶ月開発してきたので一旦振り返り」
yidev 第18回勉強会 「業務でSwiftで3ヶ月開発してきたので一旦振り返り」yidev 第18回勉強会 「業務でSwiftで3ヶ月開発してきたので一旦振り返り」
yidev 第18回勉強会 「業務でSwiftで3ヶ月開発してきたので一旦振り返り」
 
GroovyなAndroidテスト #atest_hack
GroovyなAndroidテスト #atest_hackGroovyなAndroidテスト #atest_hack
GroovyなAndroidテスト #atest_hack
 
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 1: openFrameworks入門
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 1: openFrameworks入門デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 1: openFrameworks入門
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 1: openFrameworks入門
 
OpenGLプログラミング
OpenGLプログラミングOpenGLプログラミング
OpenGLプログラミング
 
Unityの夕べ in Fukuoka
Unityの夕べ in FukuokaUnityの夕べ in Fukuoka
Unityの夕べ in Fukuoka
 
openFrameworks iOS 入門
openFrameworks iOS 入門openFrameworks iOS 入門
openFrameworks iOS 入門
 
どこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティスどこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティス
 
221217 SwiftはPythonに似ている
221217 SwiftはPythonに似ている221217 SwiftはPythonに似ている
221217 SwiftはPythonに似ている
 
Open modeler
Open modelerOpen modeler
Open modeler
 
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
 
Xamarin.Forms概要
Xamarin.Forms概要Xamarin.Forms概要
Xamarin.Forms概要
 
iPhoneアプリ開発の歩き方〜Swift編〜
iPhoneアプリ開発の歩き方〜Swift編〜iPhoneアプリ開発の歩き方〜Swift編〜
iPhoneアプリ開発の歩き方〜Swift編〜
 
勉強会資料ースイフト入門ー
勉強会資料ースイフト入門ー勉強会資料ースイフト入門ー
勉強会資料ースイフト入門ー
 

Mehr von Hiramatsu Ryosuke

iPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめiPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめ
Hiramatsu Ryosuke
 

Mehr von Hiramatsu Ryosuke (10)

6秒動画アプリ Vineの作り方
6秒動画アプリ Vineの作り方6秒動画アプリ Vineの作り方
6秒動画アプリ Vineの作り方
 
iOSアプリ開発にほんのり役に立つtips集
iOSアプリ開発にほんのり役に立つtips集iOSアプリ開発にほんのり役に立つtips集
iOSアプリ開発にほんのり役に立つtips集
 
5分でつまむEffective Objective-C
5分でつまむEffective Objective-C5分でつまむEffective Objective-C
5分でつまむEffective Objective-C
 
iOSアプリの特急申請 - Apple Expedited Review Request
iOSアプリの特急申請 - Apple Expedited Review RequestiOSアプリの特急申請 - Apple Expedited Review Request
iOSアプリの特急申請 - Apple Expedited Review Request
 
emoSound by たこ部 | OpenHackDay2
emoSound by たこ部 | OpenHackDay2emoSound by たこ部 | OpenHackDay2
emoSound by たこ部 | OpenHackDay2
 
AppSwitcherでアプリをユーザーファーストに
AppSwitcherでアプリをユーザーファーストにAppSwitcherでアプリをユーザーファーストに
AppSwitcherでアプリをユーザーファーストに
 
Bitbucket Pull Request 練習帳
Bitbucket Pull Request 練習帳Bitbucket Pull Request 練習帳
Bitbucket Pull Request 練習帳
 
iPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめiPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめ
 
Unix
UnixUnix
Unix
 
C-langage
C-langageC-langage
C-langage
 

これからはじめる SwiftPlayground入門