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
44
0
Share
An introduction to iOS development
Eugene Oskin
January 20, 2018
More Decks by Eugene Oskin
See All by Eugene Oskin
REST API. Django, Ruby on Rails, Play! Framework
evgeneoskin
0
94
Introduction to gRPC
evgeneoskin
0
99
GrailInventory – Advanced Backend Development
evgeneoskin
0
40
Bracing Calculator
evgeneoskin
1
70
emotional intelligence, part 2
evgeneoskin
0
42
Office temperature
evgeneoskin
0
38
Parse platform
evgeneoskin
0
100
Hubot
evgeneoskin
0
55
An introduction to React development
evgeneoskin
0
40
Other Decks in Programming
See All in Programming
ローカルで稼働するAI エージェントを超えて / beyond-local-ai-agents
gawa
2
260
今年もTECHSCOREブログを書き続けます!
hiraoku101
0
230
事業会社でのセキュリティ長期インターンについて
masachikaura
0
230
Strategy for Finding a Problem for OSS: With Real Examples
kibitan
0
140
実践CRDT
tamadeveloper
0
310
夢の無限スパゲッティ製造機 -実装篇- #phpstudy
o0h
PRO
0
190
年間50登壇、単著出版、雑誌寄稿、Podcast出演、YouTube、CM、カンファレンス主催……全部やってみたので面白さ等を比較してみよう / I’ve tried them all, so let’s compare how interesting they are.
nrslib
4
720
Reactive ❤️ Loom: A Forbidden Love Story
franz1981
2
220
Everything Claude Code OSS詳細 — 5層構造の中身と導入方法
targe
0
160
Swift Concurrency Type System
inamiy
0
290
PDI: Como Alavancar Sua Carreira e Seu Negócio
marcelgsantos
0
100
Feature Toggle は捨てやすく使おう
gennei
0
430
Featured
See All Featured
Designing Experiences People Love
moore
143
24k
RailsConf 2023
tenderlove
30
1.4k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
680
Evolving SEO for Evolving Search Engines
ryanjones
0
170
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
330
Between Models and Reality
mayunak
3
260
BBQ
matthewcrist
89
10k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
270
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
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