摘要:Objective-C跟C最大的差别,应该是动态定型(dynamicaly typed),支持在运行时动态类型决议(dynamic typing),动态绑定(dynamic binding)以及动态装载(dynamic loading)。Objective-C 在运行时可以允许根据字符串名字来访问方法和类,还可以动态连接和添加类,而C语言编译时静态绑定,甚至很多时候你没定义的方法直接就编译不过。Message Messaging是Object-C动态定型的实现方法。当调用一个类方法时,系统就给这个对象发消息: objc_msgSend(receiver, selector, arg1,...
阅读全文
摘要:RunLoop这个东西,其实我们一直在用,但一直没有很好地理解它,或者甚至没有知道它的存在。RunLoop可以说是每个线程都有的一个对象,是用来接受事件和分配任务的loop。永远不要手动创建一个runloop,它是跟随着每个线程的。一个RunLoop接收两种source的事件:input source和timer source。同时必须知道的是,input source,runloop是异步交付的,而timer source是同步交付的。每个runloop都有一个RunLoop Modes,代表它以何种方式执行。 我们为什么从来没有感觉到runloop的存在呢,是因为当程序启动,系统默认...
阅读全文
摘要:iOS7.0增加了AirDrop功能,可知在未来,手机信息资源的直接分享会越来越重要。而我们在iPhone系统短信点击照片会看到右上角的分享按钮,点击可以弹出一系列的应用菜单,允许用户把这张图片分享到其他应用。下面谈谈怎样让自己的应用出现在这个全局菜单。当然,这要应用内部手动设置支持。如图:(7.0的分享菜单)(在IOS6.0分别在message和safari支持的全局分享调用)设定应用支持的全局分享设置,在plist添加下面代码: CFBundleDocumentTypes CFBundleTypeName ShareIm...
阅读全文