面试--Block

作者: Smallwolf_JS | 来源:发表于2019-04-24 21:47 被阅读50次

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修饰下试试~~

相关文章

网友评论

    本文标题:面试--Block

    本文链接:https://www.haomeiwen.com/subject/gsnngqtx.html