Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Thinking in Swift!
Search
Ritesh Gupta
January 21, 2017
Technology
460
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Thinking in Swift!
Swift India, Delhi Meetup
Ritesh Gupta
January 21, 2017
More Decks by Ritesh Gupta
See All by Ritesh Gupta
Declarative Networking with Combine –– iOS Conf SG 2020
riteshhh
0
200
Combine! All the things
riteshhh
3
720
Deep dive into Protocols
riteshhh
1
470
How to be a POP-Star
riteshhh
1
410
Other Decks in Technology
See All in Technology
Post AI時代のリファクタリング実践記 / Refactoring in the post AI era
kaminashi
1
230
遠藤な_めぐろLT #38 「社内のAI活用推進」@麻布台_20261009
endonanana
0
130
JAWS-UGグッズ職人仕事の流儀
kentapapa
0
100
Getting Started with Google Antigravity
glaforge
0
300
PHPカンファレンス関西の招待状 / Invitation to PHP Conference Kansai
ykanoh
0
110
自作バイナリを動かす「入口」8選
puhitaku
2
1.3k
NDIでApple Vision Proにリアルタイム映像送信
jyouryuusui
0
120
Refining Active Record
shugo
0
150
⾮構造化データを価値に変える AI エージェント基盤とその組織
ivry_presentationmaterials
0
190
夫婦で子育てするための育児標準化
codmoninc
PRO
0
330
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
920
LambdaWebFunctionsを試してみた / exploring-lambda-web-functions
koukihosaka
1
340
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
55
10k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
New Earth Scene 8
popppiees
4
2.7k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Bash Introduction
62gerente
615
220k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.8k
Amusing Abliteration
ianozsvald
1
350
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
430
So, you think you're a good person
axbom
PRO
2
2.2k
Transcript
in Swift ~ Ritesh Gupta (Swift India, Delhi Meetup)
Swift is just not a syntax migration from Objective-C…
Swift is not objective-c styled language…
C ~> C++ Objective-C ~> Swift { imperative } {
object oriented } { object oriented } { protocol oriented }
None
None
None
None
stuck with Inheritance..
None
None
compose everything with Protocols..
UIButton UIBarButtonItem
UIButton UIControl UIView
UIBarButtonItem UIBarItem NSObject
UIBarButtonItem UIBarItem NSObject UIButton UIControl UIView
None
None
Entity (class, struct) vs Behaviour (protocol)
UIView Framable
UIImageView ImageRenderable, Framable
UIButton Tappable, ImageRenderable, Framable
UITableViewCell UICollectionViewCell Reusable, Framable
UIScrollView Scrollable, Framable
UITableView UICollectionView Listable, Scrollable, Framable
UI Entities is collection of behaviours…
..computed variables, extensions, values types, immutability, functional programming, generics, enums,
associative types/ values..
thinking in protocol..
None