美文网首页
iOS——2018面试题

iOS——2018面试题

作者: 幻蝶恋影 | 来源:发表于2018-03-05 15:28 被阅读0次

    1. 这段代码有什么问题吗:

    @implementationPerson

    -(void)setAge:(int)newAge {

    self.age= newAge;

    }

    @end

     

    2. 类变量的@protected ,@private,@public,@package,声明各有什么含义?

     

    3.谈谈你对多线程开发的理解?ios中有几种实现多线程的方法?

    [if !supportLineBreakNewLine]

    [endif]

    4.深拷贝和浅拷贝的理解?

    5. 设计模式是什么?

    你知道哪些设计模式,并简要叙述?

    6.block的注意点

    7. 如何高性能的给UIImageView 加个圆角?

    8.HTTP协议中 POST 方法和 GET 方法有那些区别?

    9.谈谈 UITableView 的优化

    10. 如何实行cell的动态的行高

    11.什么是 KVO 和 KVC?

    12. 什么是懒加载?

    13. 苹果内购实现流程

    14. 怎么用 copy 关键字?

    15. 用@property声明的NSString / NSArray / NSDictionary 经常使用 copy 关键字,为什么?如果改用strong关键字,可能造成什么问题?

    16. 为什么我们常见的delegate属性都用是week而不是retain/strong?

     

    17. isKindOfClass、isMemberOfClass、selector作用分别是什么

     

    18. delegate 和notification 的区别

     

    19. 以下代码运行结果如何?

    - (void)viewDidLoad {    

      [superviewDidLoad];   

      NSLog(@"1");    

      dispatch_sync(dispatch_get_main_queue(),^{        

        NSLog(@"2");    

      });    

      NSLog(@"3");

    }

     

    20.NSTimer创建后,会在哪个线程运行

    相关文章

      网友评论

          本文标题:iOS——2018面试题

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