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
460
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
130
Other Decks in Programming
See All in Programming
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
370
CSC307 Lecture 05
javiergs
PRO
0
500
ThorVG Viewer In VS Code
nors
0
770
SourceGeneratorのススメ
htkym
0
190
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
550
Grafana:建立系統全知視角的捷徑
blueswen
0
330
360° Signals in Angular: Signal Forms with SignalStore & Resources @ngLondon 01/2026
manfredsteyer
PRO
0
120
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
4
260
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
170
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
520
なぜSQLはAIぽく見えるのか/why does SQL look AI like
florets1
0
450
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
220
Featured
See All Featured
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
110
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Navigating Team Friction
lara
192
16k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
Building the Perfect Custom Keyboard
takai
2
680
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
410
Git: the NoSQL Database
bkeepers
PRO
432
66k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
110
Game over? The fight for quality and originality in the time of robots
wayneb77
1
110
Building AI with AI
inesmontani
PRO
1
690
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
54
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!