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
Objective-C Runtime Hacking
Search
Błażej Biesiada
July 04, 2013
Programming
1
450
Objective-C Runtime Hacking
A short introduction into Objective-C runtime programming.
Błażej Biesiada
July 04, 2013
Tweet
Share
More Decks by Błażej Biesiada
See All by Błażej Biesiada
Safer Objective-C
bejo
0
120
Other Decks in Programming
See All in Programming
GraphQLサーバの構成要素を整理する #ハッカー鮨 #tsukijigraphql / graphql server technology selection
izumin5210
4
840
Changed Rules: Architectures with Lightweight Stores
manfredsteyer
PRO
0
240
TYPO3 v13 – The road to LTS: What's new and new APIs
luisasofie_xoxo
0
200
初心者のためのRubyKaigi入門/RubyKaigi Introduction
a_matsuda
0
460
[技育CAMPアカデミア]アイディアを形に!【超入門】スマホアプリ開発〜リリースまでの流れをご紹介
teamlab
PRO
0
370
try! Swift Tokyo 初参加報告LT
hinakko2
0
220
Milestoner
bkuhlmann
1
410
Rethinking UI building strategies @ SFI 2024
letelete
0
270
大規模UIKitベースアプリへのTCAの段階的導入/gradual-adoption-of-tca-in-a-large-scale-uikit-based-app
takehilo
1
180
Micro Frontends for Java Microservices - Devnexus 2024
mraible
PRO
0
490
GitHub Copilotのススメ
marcy731
1
200
スキーマ駆動開発による品質とスピードの両立 - 私達は何故、スキーマを書くのか
kentaroutakeda
0
170
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
23
4k
Navigating Team Friction
lara
178
13k
KATA
mclloyd
15
12k
Building an army of robots
kneath
300
41k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
6.9k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
125
32k
How to Ace a Technical Interview
jacobian
272
22k
Reflections from 52 weeks, 52 projects
jeffersonlam
345
19k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.6k
Happy Clients
brianwarren
92
6.4k
WebSockets: Embracing the real-time Web
robhawkes
59
7k
Designing for Performance
lara
601
67k
Transcript
[[ObjC runtime] hacking] Błażej Biesiada @_bejo bejo
What is Runtime? ObjC Application Assembler C
What is Runtime? ObjC Application Assembler C Runtime
APIs
APIs • NSObject methods • -class • -isKindOfClass: • etc.
...
APIs • NSObject methods • -class • -isKindOfClass: • etc.
... • Runtime functions • objc_lookUpClass • class_getName • etc. ...
Demo http://github.com/bejo/BBBRuntimeNavigator
Your own root objects NS_ROOT_CLASS @interface KRKObject { Class!isa; }
@end
So... how does KVO work?
So... how does KVO work? • objc_registerClassPair
So... how does KVO work? • objc_registerClassPair • class_setSuperclass
So... how does KVO work? • objc_registerClassPair • class_setSuperclass •
class_addMethod
Associative References
Associative References • objc_setAssociatedObject
Associative References • objc_setAssociatedObject • objc_getAssociatedObject
Associative References • objc_setAssociatedObject • objc_getAssociatedObject • Google: associative references
category
None
• Objective-C Runtime Programming Guide • Objective-C Runtime Reference •
Friday Q&A by Mike Ash
Thanks!