美文网首页
概念知识点总结

概念知识点总结

作者: 奋斗的蜗牛 | 来源:发表于2017-05-24 20:06 被阅读4次

1. runtime实现机制是什么,怎么用,一般用于干嘛?你还能记得使用的相关头文件或者某些方法的名称吗?

  • 运行时机制,它是一套C语言库
  • runtime库里面包含了跟类、成员变量、方法相关的API,比如获取类里面的所有成员变量,动态改变类的方法实现,为类动态添加新的方法等
  • 需要导入<objc/message.h><objc/runtime.h>
  • 实际上我们编写的所有OC代码,最终都是转成了runtime库的东西,比如类转成了结构体等数据类型,方法转成了C语言函数,平时调用的方法转成了objc msgSend函数(所以OC有个消息发送机制),因此可以说runtime是OC的底层实现和幕后执行者

2. KVO内部实现原理

  • KVO是基于runtime机制实现的
  • 当某个类的对象第一次被观察时,系统就会在运行期间,动态的创建一个该类的派生类,在这个派生类中重写基类中被观察属性的setter方法来实现真正的通知机制(Dog->NSKVONotifyingDog)

3. NSNotification和KVO的区别和用法是什么?怎么合理使用?在实现上有什么区别?如果用protocol和delegate来实现可能吗?会有什么潜在问题,为什么?

  • 通知比较灵活(1个通知能被多个对象接收,1个对象能接收多个通知)
  • 代理比较规范,但是代码多(默认是1对1)
  • KVO性能不好(地城对动态的产生新类),只能监听某个对象属性的改变,不推荐使用(1个对象能被多个对象监听,1个对象能监听对个对象的其他属性)
    更详细参考:http://blog.csdn.net/dqjyong/article/details/7685933

4. Block内部实现原理

Objective-C是对C语言的扩展,block的实现是基于指针和函数指针

相关文章

  • 概念知识点总结

    1. runtime实现机制是什么,怎么用,一般用于干嘛?你还能记得使用的相关头文件或者某些方法的名称吗? 运行时...

  • android ndk小笔记

    1.引言 关于ndk的概念小知识点的总结ndk官网概念 2.正题 定义:Native Development Ki...

  • Spring Cloud Stream知识点盘点

    本文对Spring Cloud Stream,做一个知识点盘点和总结,包括: • 概念 • Stream注解 • ...

  • 笔记:Python之Pandas的数据结构-Dataframe

    Dataframe的相关知识点总结 (1)Dataframe的基本概念 输出结果: (2)Dataframe的创建...

  • iOS Runloop

    这里记录下iOS中Runloop相关的知识点,以备以后复习总结。 先来说下Runloop相关的概念: Runloo...

  • 专项突破 | C++动态规划

    ©一颗斯特拉 Dynamic Programming(DP) part1 动态规划知识点总结 01基本概念 动态规...

  • Java中枚举知识点总结

    基本概念: 一直对枚举的知识点和应用场景都不是特别明确,特意花点时间对该知识点进行总结。有不对之处,欢迎指出; 枚...

  • 数据库基础和SQL基础总结

    本文会总结下数据库知识,SQL基础,常用SQL语句总结; 一、数据库基础相关概念 二、数据库重点知识点 三、数据库...

  • javascript你需要懂点

    下面小编就为大家带来一篇javaScript知识点总结(必看篇)。小编觉得挺不错的 1、javaScript的概念...

  • D079+1组ZD+《理财就是理生活》

    今天,我读了第1页到第49页。新的概念和知识点很多。我把对自己有用的总结一下。 ✦概念 ⒈财务保障。就是如果今天突...

网友评论

      本文标题:概念知识点总结

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