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
iOSIntroSlides.pdf
Search
Kim Arnett
September 15, 2016
0
160
iOSIntroSlides.pdf
Kim Arnett
September 15, 2016
Tweet
Share
More Decks by Kim Arnett
See All by Kim Arnett
MVVM: An iOS Journey
kimberlyarnett
0
110
Featured
See All Featured
Color Theory Basics | Prateek | Gurzu
gurzu
0
200
The Cult of Friendly URLs
andyhume
79
6.8k
From π to Pie charts
rasagy
0
120
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Rails Girls Zürich Keynote
gr2m
96
14k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
60
42k
Discover your Explorer Soul
emna__ayadi
2
1.1k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
640
Building AI with AI
inesmontani
PRO
1
690
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Transcript
A swift intro to iOS @kimberlypilbeam
@kimberlypilbeam
Why
Why Develop
Why Develop
Why iOS
Why iOS Swift Xcode Quality Updated “Wow” Quick Dev
Why iOS iOS macOS watchOS tvOS
Xcode
Xcode
Xcode Start a new project
Xcode Start a new project Create some views
Xcode Start a new project Create some views Make some
magic
Xcode File Tree
Xcode File Tree Code
Xcode File Tree Code Debug
Xcode File Tree Code Debug Properties/ Tools
Swift
let learning = true
Swift Is Fast
2.6x Obj-C | 8.4x Python Swift Is Fast
Simple Swift Is
Powerful Swift Is
Clean Swift Is
NO SEMICOLONS
Common Types String “hello” Int 0 Dictionary [String: AnyObject] Bool
true Array AnyObject[1, 2, 3]
Common Types String - “hello” Int - 0 Dictionary -
[String: AnyObject] Bool - true Array - [1, 2, 3] AnyObject
var thisConf = “awesome” variables let attendees = 300
variables?!?!?!? var speakerName: String? Notes: ? = can be nil
! = cannot be nil
Functions func getSpeakerName() -> String { //code return “Kim” }
Functions func getSpeakerName() -> String { //code return “Kim” }
Name Return Type
Functions func setSpeakerName(name: String) { self.speakerName = name }
Functions func setSpeakerName(name: String) { self.speakerName = name } Param
Name
Classes class Session { var speakerName: String? var sessionTitle: String?
let duration = 60 … func init(title: String, name: String) {…} }
Initialization class AgendaViewController: UIViewController { override func viewDidLoad() { …
var talk = Session() talk.init(“Swift”, name: “Kim”) … } }
iOS
1000 ft view
.swift (M) NSObject - defines objects (C) UIViewController - updates
view, captures user interactions (V) UIView - displays stuff
.storyboard
.storyboard Views & Segues
.storyboard Views & Segues
.storyboard Views & Segues Main View Detail View Segue
.storyboard UIKIT
.storyboard UIKIT UIButton
.storyboard UIKIT UIButton UIImage
.storyboard UIKIT UIButton UIImage UILabel
.storyboard UIKIT UIButton UIImage UILabel UIViews
UIKIT UIViews .storyboard UIButton UIImage UILabel UITableViews UITextViews [& More]
[& More]
.Plist Property list of general app information
.Plist Property list of general app information (glamorized XML File)
Assets.xcassets
Assets.xcassets icon.png 1x 100 x 100
[email protected]
200 x 200
[email protected]
300 x 300 2x 3x
Developer Portal
Developer Portal developer.apple.com
Sign UP Account → Apple ID “Join the Apple Developer
Program”
Sign UP $99 / year $25 one time (Android)
Certificates & Profiles iTunes Connect &&
Certificates & Profiles name & unique identifier for your application
AKA bundle ID com.company.name App Id
Certificates & Profiles Development devices used for testing. Find the
UUID by connecting to iTunes. Devices
Certificates & Profiles Generated key allowing you to test &
publish - Development - Production Certificates
Certificates & Profiles Generated digital print authorizing devices - Development
- Production Provisioning Profiles
Deploy to i[device] Development Certificate Development Provisioning Profile Download Double
Click Each
[Time to code]
THANK YOU! @kimberlypilbeam karnett/CWIT