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
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
420
CSC307 Lecture 06
javiergs
PRO
0
680
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
React 19でつくる「気持ちいいUI」- 楽観的UIのすすめ
himorishige
11
5.9k
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
250
Vibe codingでおすすめの言語と開発手法
uyuki234
0
220
KIKI_MBSD Cybersecurity Challenges 2025
ikema
0
1.3k
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
120
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.8k
CSC307 Lecture 07
javiergs
PRO
0
550
Spinner 軸ズレ現象を調べたらレンダリング深淵に飲まれた #レバテックMeetup
bengo4com
1
230
Data-Centric Kaggle
isax1015
2
760
Featured
See All Featured
Designing Experiences People Love
moore
144
24k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
240
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
Being A Developer After 40
akosma
91
590k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
160
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
280
The Curse of the Amulet
leimatthew05
1
8.2k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
4 Signs Your Business is Dying
shpigford
187
22k
GraphQLとの向き合い方2022年版
quramy
50
14k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
400
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