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
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
[RailsConf 2023] Rails as a piece of cake
palkan
56
5.8k
The Pragmatic Product Professional
lauravandoore
36
6.8k
Faster Mobile Websites
deanohume
309
31k
Music & Morning Musume
bryan
46
6.8k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
Side Projects
sachag
455
43k
Facilitating Awesome Meetings
lara
55
6.5k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
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