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
Mobile First: as difficult as doing things right
swwweet
223
9.5k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
490
Speed Design
sergeychernyshev
28
860
KATA
mclloyd
29
14k
Faster Mobile Websites
deanohume
306
31k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
11
610
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
Done Done
chrislema
183
16k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
8
700
Unsuck your backbone
ammeep
670
57k
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 icon@2x.png 200 x 200
icon@3x.png 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