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
Swift Intro
Search
Max Goedjen
December 02, 2014
Programming
0
69
Swift Intro
Max Goedjen
December 02, 2014
Tweet
Share
Other Decks in Programming
See All in Programming
CSC307 Lecture 01
javiergs
PRO
0
690
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
4
250
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
680
CSC307 Lecture 09
javiergs
PRO
1
830
Package Management Learnings from Homebrew
mikemcquaid
0
210
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
220
CSC307 Lecture 03
javiergs
PRO
1
490
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
540
プロダクトオーナーから見たSOC2 _SOC2ゆるミートアップ#2
kekekenta
0
200
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
370
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
690
Basic Architectures
denyspoltorak
0
660
Featured
See All Featured
A Soul's Torment
seathinner
5
2.2k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.3k
Discover your Explorer Soul
emna__ayadi
2
1.1k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
640
AI: The stuff that nobody shows you
jnunemaker
PRO
2
240
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
170
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
110
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
110
Utilizing Notion as your number one productivity tool
mfonobong
2
210
It's Worth the Effort
3n
188
29k
The Spectacular Lies of Maps
axbom
PRO
1
520
Transcript
SWIFT
iOS & Mac
Why?
Modern Safe Interoperable
Modern
Modern [ ]
Objective-C [someObject doSomething]; Swift someObject.doSomething()
Modern Blocks & Closures
Objective-C - (void)doSomethingWithCompletion:(void (^)(NSError *))completion; Swift func doSomethingWithCompletion(completion: (NSError) ->
(Void))
Modern Primitives & Literals
Objective-C NSArray *numbers = @[@1, @2, @3]; // NSArray *numbers
= [NSArray arrayWithObjects: // [NSNumber numberWithInt:1], // [NSNumber numberWithInt:2], // [NSNumber numberWithInt:3] // ]; Swift let numbers = [1, 2, 3]
Modern Custom Operators
Custom Operators { /* do some task */ } ~>
{ /* update some UI */}
Safety
Safety Static Typing
Safety Nil Safety
Objective-C SomeObject *someObject = nil; [someObject performCriticalTask]; Swift let someObject:
SomeObject = nil someObject.performCriticalTask() // Compiler error
Objective-C SomeObject *object = nil; NSArray *objectList = @[object]; //
Crash Swift let object: SomeObject? let objectList = [object] // :)
Safety Immutability
Objective-C NSArray & NSMutableArray Swift let & var
Common iOS Tasks Delegation
Objective C if ([self.delegate respondsToSelector:@selector(someDelegateMessage:)]) { [self.delegate someDelegateMessage:self]; } Swift
delegate?.someDelegateMessage?(self)
Interoperability
Swift All The Things? Not So Fast
None
Xcode !
None
Tooling
Tooling REPL
Tooling Playgrounds
Playgrounds
Further Reference Learn Design AND Code!!! GitHub Swift Book Swift
Blog objc.io Airspeed Velocity