RunLoop基础
RunLoop是让线程能随时处理事件但不退出的机制。RunLoop 实际上是一个对象,这个对象管理了其需要处理的事件和消息,并提供了一个入口函数来执行Event Loop 的逻辑。
gif动画效果实现方式
gif 图片的展示方式有几种:webView方法、逐桢展示、第三方
nib文件
Nib文件是一种特殊类型的资源文件,它用于保存iPhone OS或Mac OS X应用程序的用户接口。Nib文件是Interface Builder文档。通常您会使用Interface Builder设计应用程序的可视部分-例如窗口或视图。有些时候,您可能也用它来配置一些不可视的对象,例如控制器对象(用于管理窗口和视图)。实际上,所有这些操作都是在编辑一份Interface Builder文档,即在创建一份对象图。保存文件的时候,就是将该对象图进行归档,加载文件的时候,就是将对象图进行解档。
Nib文件—也就是对象图-可以包含占位对象,这种对象用于指涉存在于文档之外的对象。这些对象虽然不在文档中,但却可能含有文档内对象的引用,或者被文档内的对象引用。文件拥有者就是一种特殊的占位对象。
setObject:forKey:和setValue:forKey:
在使用NSMutableDictionary
和NSUserDefaults
时,经常会用到setValue:forKey
或setObject:forKey
两个方法,这两个方法的区别是什么,什么时候用setValue:forKey
?什么时候用setObject:forKey
呢?
先看下字典中setObject:forKey:
、 setValue:forKey:
、 setValue:forKeyPath:
的标准调用语句:
1 | NSMutableDictionary *dict = [[NSMutableDictionary alloc] init]; |
可以看出: