Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
An introduction to iOS development
Search
Eugene Oskin
January 20, 2018
Programming
0
43
An introduction to iOS development
Eugene Oskin
January 20, 2018
Tweet
Share
More Decks by Eugene Oskin
See All by Eugene Oskin
REST API. Django, Ruby on Rails, Play! Framework
evgeneoskin
0
92
Introduction to gRPC
evgeneoskin
0
98
GrailInventory – Advanced Backend Development
evgeneoskin
0
39
Bracing Calculator
evgeneoskin
1
69
emotional intelligence, part 2
evgeneoskin
0
41
Office temperature
evgeneoskin
0
37
Parse platform
evgeneoskin
0
100
Hubot
evgeneoskin
0
52
An introduction to React development
evgeneoskin
0
39
Other Decks in Programming
See All in Programming
AI 開発合宿を通して得た学び
niftycorp
PRO
0
100
API Platformを活用したPHPによる本格的なWeb API開発 / api-platform-book-intro
ttskch
1
130
nuget-server - あなたが必要だったNuGetサーバー
kekyo
PRO
0
240
DSPy入門 Pythonで実現する自動プロンプト最適化 〜人手によるプロンプト調整からの卒業〜
seaturt1e
1
710
「抽象に依存せよ」が分からなかった新卒1年目の私が Goのインターフェースと和解するまで
kurogenki
0
110
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
500
PostgreSQL を使った快適な go test 環境を求めて
otakakot
0
540
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
260
Ruby x Terminal
a_matsuda
7
590
エンジニアの「手元の自動化」を加速するn8n 2026.02.27
symy2co
0
150
S3ストレージクラスの「見える」「ある」「使える」は全部違う ─ 体験から見た、仕様の深淵を覗く
ya_ma23
0
440
grapheme_strrev関数が採択されました(あと雑感)
youkidearitai
PRO
1
220
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.4k
Google's AI Overviews - The New Search
badams
0
930
The agentic SEO stack - context over prompts
schlessera
0
690
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.1k
Balancing Empowerment & Direction
lara
5
940
Un-Boring Meetings
codingconduct
0
220
YesSQL, Process and Tooling at Scale
rocio
174
15k
So, you think you're a good person
axbom
PRO
2
2k
A better future with KSS
kneath
240
18k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
760
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
91
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Transcript
An introduction to iOS development
Why do you need it?
The beginning
Glossary • Storyboard • Controller (ViewController) • Action (IBAction) •
View (UIView) • Table • *Delegate
XCode
None
None
None
Add Outlet / Action (ctrl+drag)
Use Tabs, Luke!
Use Tabs, Luke!
XCode shortcuts • ⇧⌘O to Quick open • ⇧⌘F to
Find in your Project
XCode shortcuts • ⌃I Re-indent • Esc+Esc to Autocomplete •
Alt+click open quick help
XCode shortcuts • ⌘{ to jump to the left tab
• ⌘} to jump to the right tab • ⌘R Rebuild • ⌘T Run tests
None
MVC architecture
None
None
Controller Hierarchy
None
Swift
Optional var myString: String? myString = "Hello, Swift!" if let
yourString = myString { println("Your string has - \(yourString)") } else { println("Your string does not have a value") }
A closure as the last argument // Definition public func
responseJSON( completion: (Response<Any>) -> Void) -> Self // Usage let request = Alamofire.request("https://httpbin.org/") request.responseJSON { response in print("Complete") }
Use [weak self] in closure let request = Alamofire.request("https://httpbin.org/") request.responseJSON
{ [weak self] response in self?.showDialog() }
Other Instruments
SwiftLint
Playground
TestDrive $ testdrive Alamofire
Dependency managers • CocoaPods • Carthage # Xcode 8 +
9 $ sudo gem install cocoapods $ pod init $ pod install
Bring your Color Scheme and Font!
Ask for help
Your toolkit • Swift • XCode • Storyboards • Clear
derived data
None