代码改变世界

UIKit should not be called from a secondary thread.

2012-02-01 09:41 by ianwang, 1102 阅读, 0 推荐, 收藏, 编辑
摘要:近日编码,将uiwebview在一个thread中使用了,得到如下提示“void_WebThreadLockFromAnyThread(bool),0x8e68890:Obtainingtheweblockfromathreadotherthanthemainthreadorthewebthread.UIKitshouldnotbecalledfromasecondarythread.”核心的意思”UIKit should not be called from a secondary thread.“,IOS中不能把与uikit相关的操作(主要是UI控件的操作)放到一个新键线程中去(secon 阅读全文

ios 上 sqlite的第三方封装库介绍

2011-12-24 20:20 by ianwang, 2754 阅读, 0 推荐, 收藏, 编辑
摘要:1.FMDataBase一个sqlite的objective-c的封装库。https://github.com/ccgus/fmdb只有两个封装类,简单易用。2.PlausibleDatabase也是一个数据库操作的objective-c版封装库,“SQLite is the initial and primary target, but the API has been designed to support more traditional databases.”文件较多,一般的接口与FMDataBase一样,此外还支持sql的预编译和参数绑定(没有用过,不明白)http://code.g 阅读全文

sqlitepo(sqlite) vs core data

2011-12-24 13:17 by ianwang, 762 阅读, 0 推荐, 收藏, 编辑
摘要:sqlitepersistentobjects的活跃度很低,在这个stackoverflow的帖子中,coredata vssqlitepersistentobjects就算这个project已经被作者否定了,但下段这个豪情的叙述,推销的开场白,还是很有意思,或许应该将之记下。。“Wouldn't it be nice if your Objective-C data objects just knew how to save and load themselves? It'd be nice if you could just call "save" an 阅读全文

ios上的绘制优化

2011-11-28 17:45 by ianwang, 1622 阅读, 0 推荐, 收藏, 编辑
摘要:Improving Image Drawing Performance on iOS这篇apple官方的文档说明了一些动画绘制原则以及预渲染技术。简要总结如下:1.尽量避免频繁调用-drawrect: 这是相当耗时的操作,因为 UIView作为单个元素,无论是局部(setNeedsDisplayInRect)或者是整体(setNeedsDisplay)发出重绘,整个view都会被更新到屏幕上(iPhone/ipad的刷屏方式决定的)。2.尽量使用UIView/CALayer实现一些动画,不要试图通过发出绘制消息来实现动画。 对于图片动画来说,把图片封装到UIImageView就可以完成旋转,. 阅读全文

iPhone上的有没有立即绘制的接口?

2011-11-22 18:05 by ianwang, 328 阅读, 0 推荐, 收藏, 编辑
摘要:玩过一些平台如win32.bada上面都有立即绘制的接口。例如win32下 invalidatRect之后,updatewindow就可以立即绘制无效区域到窗口。那iphone有没有类似的接口呢?除了setNeedDisplayInRect这个发出重绘的异步接口,有没有一个立即刷屏的接口呢,就是说一个同步绘制的方法?实际工作中很容易产生这样的想法,即时刷新。答案是没有好的方式。我们只能把当前runloop的消息(来自input resourse 或者timer resourse)处理完成。等到下一个循环进入drawrect方法完成实际绘制。所以若在一个调用堆栈里面有复杂的计算或耗时的操作,.. 阅读全文