一道高级iOS面试题(runtime方向)


说到iOS,要么公司规模比较小,<=3人,不需要面试。

其他的,大概率要让你刀枪棍棒十八般武艺都拿出来耍耍。

而其中,但凡敌军阵营中有iOSer的,又极大概率会考到 Runtime 的知识点。

以下,是一题 sunnyxx的一道 runtime 考题,给大伙练练手,如果掌握了,Runtime层面的初中级问题应该都不在话下~

题目来袭:
//MNPerson
@interface MNPerson : NSObject

@property (nonatomic, copy)NSString *name;

- (void)print;

@end

@implementation MNPerson

- (void)print{
    NSLog(@"self.name = %@",self.name);
}

@end

---------------------------------------------------

@implementation ViewController

- (void)viewDidLoad {

    [super viewDidLoad];

    id cls = [MNPerson class];

    void *obj = &cls;

    [(__bridge id)obj print];

}

问输出结果是啥,会不会崩溃。

一道高级iOS面试题(runtime方向)_第1张图片

最终结果:

self.name = 

what?

  • 问题1:print 是实例方法,但是并没有哪里调用了

你可能感兴趣的:(ios,objective-c,swift,flutter,面试)