$30 off During Our Annual Pro Sale. View Details »
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
The Cult of Friendly URLs
andyhume
79
6.7k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
We Have a Design System, Now What?
morganepeng
54
7.9k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Documentation Writing (for coders)
carmenintech
76
5.2k
Code Reviewing Like a Champion
maltzj
527
40k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
Side Projects
sachag
455
43k
GitHub's CSS Performance
jonrohan
1032
470k
Balancing Empowerment & Direction
lara
5
780
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
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