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
100
GrailInventory – Advanced Backend Development
evgeneoskin
0
41
Bracing Calculator
evgeneoskin
1
70
emotional intelligence, part 2
evgeneoskin
0
43
Office temperature
evgeneoskin
0
39
Parse platform
evgeneoskin
0
100
Hubot
evgeneoskin
0
55
An introduction to React development
evgeneoskin
0
41
Other Decks in Programming
See All in Programming
AIエージェントで業務改善してみた
taku271
0
550
How We Benchmarked Quarkus: Patterns and anti-patterns
hollycummins
1
160
The Monolith Strikes Back: Why AI Agents ❤️ Rails Monoliths
serradura
0
360
「話せることがない」を乗り越える 〜日常業務から登壇テーマをつくる思考法〜
shoheimitani
4
890
レガシーPHP転生 〜父がドメインエキスパートだったのでDDD+Claude Codeでチート開発します〜
panda_program
0
1.1k
(Re)make Regexp in Ruby: Democratizing internals for the JIT
makenowjust
3
840
Claude CodeでETLジョブ実行テストを自動化してみた
yoshikikasama
0
990
Lightning-Fast Method Calls with Ruby 4.1 ZJIT / RubyKaigi 2026
k0kubun
3
1.7k
Running Swift without an OS
kishikawakatsumi
0
860
ついに来た!本格的なマルチクラウド時代の Google Cloud
maroon1st
0
290
Surviving Black Friday: 329 billion requests with Falcon!
ioquatix
0
1.3k
〜バイブコーディングを超えて〜 チームで実験し続けたAI駆動開発
tigertora7571
0
170
Featured
See All Featured
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.9k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
64
54k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.6k
Marketing to machines
jonoalderson
1
5.2k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Mind Mapping
helmedeiros
PRO
1
170
Building Applications with DynamoDB
mza
96
7k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
450
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
270
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
230
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
55k
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