iOS将来跳槽用

面试--Block

2019-04-24  本文已影响50人  Smallwolf_JS

iOS面试大都会问到Block问题,一般都会问到__weak__strong以及__block其实这些都没有什么难道,一般利用clang看过block执行文件的话都可以答的差不多,但是我面试了两家公司,一家告诉我说block作为属性(一般用copy修饰,Mrc遗留下来的习惯)的时候可以用strong修饰,不可以用retain,另一家告诉我说可以用retain修饰,不可以用strong,由于是面试官,所以不好意思争辩的太过分。还指出在arc上没有stackBlock。

其实可以写一个block试试就会发现,在mrc下retain相当于assign,但是arc下的话可以使用retain,但是回报警告,说不会完成copy操作。

使用strong的话一般情况下没有问题,但是作为值传递的时候强引用的问题不存在吗?别忘了block其实也是个对象啊。

所以还是推荐大家用copy。

最后一个问题,arc下没有栈block,那么你用assign修饰下试试~~

上一篇 下一篇

猜你喜欢

热点阅读