RunLoop
一个线程执行一个任务,执行完成后退出。RunLoop就是执行完之后不退出,重复执行
RunLoop实际上就是一个对象。这个对象管理了需要处理的事件和消息,并提供了入口函数来执行Event Loop的逻辑。线程执行了这个函数后,就会一直处于这个函数内部“接受消息>等待>处理”,知道这个循环结束,函数返回。
OSX/iOS 提供了两个这样的对象 NSRunLoop 和 CFRunLoopRef
RunTime
C函数调用在编译的时候会决定调用哪个函数,编译完成之后顺序执行。
OC 的函数调用成为消息发送,属于动态调用过程。编译时并不能决定调用哪个函数。真正运行的时候才会根据函数名查找对应的函数调用
objc_msgSend(obj,@selector(makeText));