原题作者:@Sunny
原题地址: 神经病院objc runtime入院考试。
今天早上看到有一位好友 冰霜 写了一篇文章 神经病院Objective-C Runtime入院第一天—isa和Class
看着有些手痒,特地添加了一道拓展题,欢迎 iOS 的小伙伴们参加考试。
拓展题:添加或修改一行代码,使得下面的输出为
my name's Sark
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
@interface Sark : NSObject @property (nonatomic, copy) NSString *name; - (void)speak; @end @implementation Sark - (void)speak { NSLog(@"my name's %@", self.name); } @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; id cls = [Sark class]; void *obj = &cls; [(__bridge id)obj speak]; } @end |