技术基础整理

1.为什么说Objective-C是一门动态的语言?

a.动态类型:运行时再决定对象的类型,编译器编译时是不被识别的;相对应的是静态类型:编译时就已经识别对象的类型,如果类型不对应,程序在编译过程中就会发出警告;

b.动态绑定:当一个实例对象被确定后,其类型也被确定,其对于的属性和响应的方法也被完全确定,这就好动态绑定;

c.动态加载:根据需要加载资源;比如在plus手机上加载@3x的图片,在5s,6上加载@2x的图片等


2.为什么代理要用weak?代理的delegate和dataSource有什么区别?block和代理的区别?

1. weak:指明该对象并不负责保持delegate这个对象,delegate这个对象的销毁由外部控制;  strong:该对象强引用delegate,外界不能销毁delegate对象,会导致循环引用(Retain Cycles);  代理使用weak(assign)是防止循环引用;

2. Datasource是数据源, 在告诉使用者之前的view中都有什么东西,有什么属性,属性的值都是多      少,是只关于数据的东西.  Delegate用来监听view的一些操作, 是在告诉使用者view有什么方法可以供我调用.  一个是数据,一个是操作。

3.参考http://www.jianshu.com/p/4e829fa34494

http://www.jianshu.com/p/8b3cf2187255


NSString为什么要用copy关键字,如果用strong会有什么问题?http://www.cnblogs.com/Caersi/p/6376213.html

如何令自己所写的对象具有拷贝功能?http://www.jianshu.com/p/c106d1e6f4bc

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • iOS网络架构讨论梳理整理中。。。 其实如果没有APIManager这一层是没法使用delegate的,毕竟多个单...
    yhtang阅读 10,656评论 1 23
  • 1.属性readwrite,readonly,assign,retain,copy,nonatomic 各是什么作...
    曾令伟阅读 4,692评论 0 10
  • 基础 1. 为什么说Objective-C是一门动态的语言? 2. 讲一下MVC和MVVM,MVP? 3. 为...
    波妞和酱豆子阅读 8,646评论 0 46
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,370评论 30 472
  • 最近一朋友正准备跳槽,就从各处搜索整理一些基础,便于朋友复习,也便于自己复习查看. 1. 回答person的ret...
    smile丽语阅读 5,786评论 0 7