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
100
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
910
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
The Invisible Side of Design
smashingmag
302
51k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Navigating Team Friction
lara
190
15k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Reflections from 52 weeks, 52 projects
jeffersonlam
353
21k
Designing for Performance
lara
610
69k
The Straight Up "How To Draw Better" Workshop
denniskardys
238
140k
Designing Experiences People Love
moore
142
24k
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