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
37
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
71
Introduction to gRPC
evgeneoskin
0
60
GrailInventory – Advanced Backend Development
evgeneoskin
0
32
Bracing Calculator
evgeneoskin
1
63
emotional intelligence, part 2
evgeneoskin
0
34
Office temperature
evgeneoskin
0
31
Parse platform
evgeneoskin
0
96
Hubot
evgeneoskin
0
47
An introduction to React development
evgeneoskin
0
34
Other Decks in Programming
See All in Programming
1BRC--Nerd Sniping the Java Community
gunnarmorling
0
340
Let's learn code review
riofujimon
2
490
Elm 0.19.0 Changes
bkuhlmann
0
490
『Railsオワコン』と言われる時代に、なぜブルーモ証券はRailsを選ぶのか
free_world21
0
260
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
270
"config" ってなんだ? / What is "config"?
okashoi
0
240
Goのmultiple errorsについて (2024年4月版)
syumai
4
970
Hanami and htmx
bkuhlmann
0
210
dbtのドメイン分割による データ基盤の改善とDigdagとの連携
sakama
0
370
Milestoner
bkuhlmann
1
410
AWS CDKコントリビュートTIPS / aws-cdk-contribution-tips
gotok365
2
220
PostmanでAPIの動作確認が楽になった話
h455h1
0
170
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1025
450k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
KATA
mclloyd
15
12k
Ruby is Unlike a Banana
tanoku
96
10k
Building a Modern Day E-commerce SEO Strategy
aleyda
17
6.4k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.6k
How GitHub (no longer) Works
holman
304
140k
Being A Developer After 40
akosma
57
580k
Facilitating Awesome Meetings
lara
42
5.6k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
227
16k
Thoughts on Productivity
jonyablonski
58
3.8k
The Cost Of JavaScript in 2023
addyosmani
16
3.9k
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