- 博客(22)
- 收藏
- 关注
原创 在4.2系统上发现的NSString行为变化
<br />突然被人问道[NSString stringWithString:@"xxx"]产生的字符串要不要显示地释放。<br /> <br />虽然第一反应是不需要释放。不过为了保险期间还是查看了一下retainCount。<br /> <br />然后发现了奇怪的东西。<br /> <br />NSString *cstr = @"hello world"; NSString *dumpStr = [[NSString alloc] initWithString:cstr]; NSStri
2010-12-28 19:47:00
760
1
原创 使用UIPopupViewController
<br />需要准备两个ViewController,一个是UIPopupViewController,一个是需要包含在里面的内容。<br /> <br />@interface MainViewController : UIViewController<UIPopoverControllerDelegate> { @private VBookmarkViewController *bookmarkViewController_; UIPopoverController *bookma
2010-12-25 18:45:00
4886
原创 通过xib文件创建子控件
<br />有些情况下需要动态增加一些子控件。<br />如果用代码直接构建子控件,就是比较麻烦。尽量少写代码。<br />所以想到的是用xib文件来实现UIView。<br />问题是UIView不能直接从xib文件构造。<br />可以通过写UIViewController来加载xib。但是缺点是会得到很多小的UIVIewController实例,而实际上我们又不怎么需要。<br /> <br />xib/nib文件可以通过NSBundle装载。得到的是一个NSArray。在xib编辑器里看到的除了Fi
2010-12-24 19:32:00
3667
原创 从替换objc类成员方法观察成员方法寻址
<br />objc的动态特性真是很好玩<br /> <br />cocoadev上有一篇关于替换成员方法的文章,可以将一个成员方法替换成新的实现<br />原文<br />http://www.cocoadev.com/index.pl?MethodSwizzling<br /> <br />这里又观察到一个现象<br />在写新实现的时候,调用的方法名称是新的方法名称<br /> <br />@implementation Foo(specialfooBar)<br />// returns the l
2010-12-13 22:02:00
699
原创 增强UIWebView的cache
<br />尝试了一下增强UIWebView的cache。不过实际效果并不理想。即便有cache,消除了从新联网请求都时间,但是重新排版时间仍然很长。UIWebView对前进后退都响应速度没明显改善。<br /> <br />这里介绍简单粗暴的利用文件系统增加cache的方法。<br /> <br />基本原理是继承NSURLCache,并替换默认NSURLCache实例。在发现cache未命中都时候,去请求cache内容。因为UIWebView并不返回所有内容给NSURLCache。具体可以自己跟踪一下里
2010-11-18 01:53:00
4710
3
原创 航海桌面基本上能接近自己设想的程度了
<br />做了快2年了,到先才基本上能接近自己设想的样子。<br /><br /> <br />一开始只是想模仿一下symbian系统的桌面加个新闻天气搜索。变成一个能接入互联网的东西。再加上模仿T9拨号的搜索功能。<br />其实这2年时间基本都是在和恶心的symbian系统搏斗。对于产品本身的设计,基本没啥大的更改。就是加了很多混饭吃的功能。<br /> <br />现在终于能从直接模拟系统的这个原点跳出来,变成一个真正美化时尚的东西了。虽然,的确是寨风扑面而来的东西。套句影评,这是向无数其他软件致敬
2010-09-15 21:10:00
763
原创 在S60v和v5上探测正在运行的widget和关闭widget
(这个方法在v3上也测试过了。) 首先需要去Symbian.org下载开源的Symbian3 至少要下到binaries_epoc.zip,binaries_winscw.zip,binaries_armv5.zip,src_oss_app.zip 解压缩,得到epoc32目录 复制epoc32/include/platform到v5模拟器里的epoc32/incl
2010-02-26 11:37:00
1043
原创 S60上的带鱼眼放大效果列表
首先要强烈鄙视一下给Nokia S60设计UI接口团队——用到现在最恶心的,文档最不完整的UI框架了。 然后要感谢一下Forum Nokia Wiki 上的 Mayank, 提供了一个鱼眼列表的范例程序,虽然有bug。 http://wiki.forum.nokia.com/index.php/How_to_implement_fisheye_view 源代码可在上面
2009-07-15 20:27:00
827
原创 从google group上得到的好东西
The ebooks ( http://rapidshare.com/files/215839629/Symbian_eBook_Library.rar.html ) are :Developing Software for Symbian OS.pdfProgramming PC Connectivity Applications for Symbian OS.pdfQu
2009-06-20 20:49:00
702
原创 如何去掉S60 3rd Fp2菜单里的“显示打开的应用程序”
Nokia S60 3rd Fp2开始加入了一个很脑残的特点,一级菜单顶部会自动插入一个“显示打开的应用程序”。本来菜单就没几行,还被强行占去一行,十分不爽。 偶然找到一个方法去除这个东西。 CEikMenuBar* menuBar = STATIC_CAST( MEikAppUiFactory*, CEikonEnv::Static()->AppUiFactory() )->Me
2009-06-08 19:55:00
817
翻译 v8里一段很巧妙的带cache的字符类型判断模板类
编译过程经常需要判断字符的类型。 有些判断很简单,数字就是[0,9],字幕就是[a,z]和[A,Z]。几个比较语句就搞定了。 有些比需要比较多的判断次数,因为他们是一个不连续的编码的字符集合。像最常见的空字符集合,{ , /t ... }。遇到这种集合就只能逐个比较。可以通过对集合排序,减少比较次数,但是比较的平均次数仍然和这个集合的大小成正比。
2009-06-06 22:38:00
635
原创 s60按键处理模型
做了一段时间航海桌面,被长按,短按,组合键各种按键逻辑搞的死去活来。功能堆积的太多后,根本是一团浆糊。 正好开发到一个段落,重新整理了按键逻辑,把按键识别和执行功能分离。 识别模块负责将按键事件串对应成可以接受的按键状态。把不需要关心的噪音过滤掉。后面记作Filter执行模块根据按键状态执行功能。 S60的按键事件分成3中类型:Down,Event,Up。
2009-06-04 22:24:00
1610
4
原创 终于完成了第一个完整的编译程序
终于完成了第一个完整 编译程序。虽然是把java script编译成在自己定义的虚拟机上运行的字节码,但是还是很感动——从学会写代码,到学会写程序生成脚本,再到学会生成汇编指令代码。终于完成了一次进化。一个能在j2me上运行的java script,目前还是很有价值的。准备加入航海家浏览器里。用xul和java script彻底升级浏览器。不过这也意味着我在symbian上
2007-07-25 21:30:00
945
原创 修改正则表达式部分语法,减少语法树叶子,提高识别效率
原来使用的语法 ::= { } | | ::= | * ::= | ( ) ::= | [ { } ] | [ ^ { } ] ::= | - ::= . | 0 .. n (any elem
2006-10-07 18:27:00
1337
1
原创 尝试把正则表达式转换成指令序列形式
将识别正则表达式的DFA表示成转移函数表,每次都查找在转移比较麻烦。如果能表示成一个顺序的指令序列,通过顺序解释这个序列来处理字符串,将是一种很有效的方法。如果还能加入优化,把代码最小化还能提高不少效率。不过这也可能只是丫丫。先做一个试验对于正则表达式 (a|b)[0-9].*c,可以用以前的方法先生成语法树,然后出DFA。状态 (1,2)表示含有叶子1,2,等等。用伪码描述这个自动机str ::
2006-10-05 00:16:00
1019
原创 正则表达式识别实现
算法算法参照《正则表达式识别》基本结构程序的主要模块是RegInterpreter,后面简称为Interp。它接受正则表达式字符串,输出一个识别该字符串的DFA。Interp先将字符串转换成语法树。为了简化对字符的判断,开一个包含所有1~127的ascii的表,描述字符的类型。比如这个字符是文本还是运算符,是数字还是字母,是不是括号等等。再加入宏,方便判断。语法树的所有结点都是RegN
2006-09-21 23:01:00
2262
1
原创 《正则表达式识别》
《正则表达式识别》正则表达式语法 ::= { } | | ::= | * ::= | ( ) ::= | [ { } ] | [ ^ { } ]::=
2006-09-18 22:10:00
6237
7
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人