自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

作坊手记

Rheingold's Study Note

  • 博客(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 717 1

原创 使用UIPopupViewController

<br />需要准备两个ViewController,一个是UIPopupViewController,一个是需要包含在里面的内容。<br /> <br />@interface MainViewController : UIViewController<UIPopoverControllerDelegate> { @private  VBookmarkViewController *bookmarkViewController_;  UIPopoverController *bookma

2010-12-25 18:45:00 4834

原创 通过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 3600

原创 很好用的KVO

object-c的KVO很好用,能省掉胶水代码。使用起来很简单。

2010-12-19 20:50:00 813

原创 从替换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 665

原创 增强UIWebView的cache

<br />尝试了一下增强UIWebView的cache。不过实际效果并不理想。即便有cache,消除了从新联网请求都时间,但是重新排版时间仍然很长。UIWebView对前进后退都响应速度没明显改善。<br /> <br />这里介绍简单粗暴的利用文件系统增加cache的方法。<br /> <br />基本原理是继承NSURLCache,并替换默认NSURLCache实例。在发现cache未命中都时候,去请求cache内容。因为UIWebView并不返回所有内容给NSURLCache。具体可以自己跟踪一下里

2010-11-18 01:53:00 4639 4

原创 航海桌面基本上能接近自己设想的程度了

<br />做了快2年了,到先才基本上能接近自己设想的样子。<br /><br /> <br />一开始只是想模仿一下symbian系统的桌面加个新闻天气搜索。变成一个能接入互联网的东西。再加上模仿T9拨号的搜索功能。<br />其实这2年时间基本都是在和恶心的symbian系统搏斗。对于产品本身的设计,基本没啥大的更改。就是加了很多混饭吃的功能。<br /> <br />现在终于能从直接模拟系统的这个原点跳出来,变成一个真正美化时尚的东西了。虽然,的确是寨风扑面而来的东西。套句影评,这是向无数其他软件致敬

2010-09-15 21:10:00 731

原创 在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 1008

原创 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 793

原创 从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 658

原创 找到个方便画图的好东西

这网站不错 http://yuml.me/ 把描述UML的字符串转换成图 也可以当作简单的框图来用,方便啊

2009-06-09 17:49:00 437

原创 如何去掉S60 3rd Fp2菜单里的“显示打开的应用程序”

Nokia S60 3rd Fp2开始加入了一个很脑残的特点,一级菜单顶部会自动插入一个“显示打开的应用程序”。本来菜单就没几行,还被强行占去一行,十分不爽。 偶然找到一个方法去除这个东西。 CEikMenuBar* menuBar = STATIC_CAST( MEikAppUiFactory*, CEikonEnv::Static()->AppUiFactory() )->Me

2009-06-08 19:55:00 785

翻译 v8里一段很巧妙的带cache的字符类型判断模板类

编译过程经常需要判断字符的类型。 有些判断很简单,数字就是[0,9],字幕就是[a,z]和[A,Z]。几个比较语句就搞定了。 有些比需要比较多的判断次数,因为他们是一个不连续的编码的字符集合。像最常见的空字符集合,{ , /t ... }。遇到这种集合就只能逐个比较。可以通过对集合排序,减少比较次数,但是比较的平均次数仍然和这个集合的大小成正比。

2009-06-06 22:38:00 597

原创 s60按键处理模型

做了一段时间航海桌面,被长按,短按,组合键各种按键逻辑搞的死去活来。功能堆积的太多后,根本是一团浆糊。 正好开发到一个段落,重新整理了按键逻辑,把按键识别和执行功能分离。 识别模块负责将按键事件串对应成可以接受的按键状态。把不需要关心的噪音过滤掉。后面记作Filter执行模块根据按键状态执行功能。 S60的按键事件分成3中类型:Down,Event,Up。 

2009-06-04 22:24:00 1569 4

原创 My Javascript

先翻译代码,构造成一棵语义树。树的节点结构如下下面定义各种类型的子树如何翻译成指令. 

2007-08-08 23:34:00 784

原创 终于完成了第一个完整的编译程序

终于完成了第一个完整 编译程序。虽然是把java script编译成在自己定义的虚拟机上运行的字节码,但是还是很感动——从学会写代码,到学会写程序生成脚本,再到学会生成汇编指令代码。终于完成了一次进化。一个能在j2me上运行的java script,目前还是很有价值的。准备加入航海家浏览器里。用xul和java script彻底升级浏览器。不过这也意味着我在symbian上

2007-07-25 21:30:00 911

原创 恢复更新,先贴几个模型

 

2007-07-25 20:42:00 924

原创 修改正则表达式部分语法,减少语法树叶子,提高识别效率

原来使用的语法 ::= { } | | ::= | * ::= | ( ) ::= | [ { } ] | [ ^ { } ] ::= | - ::= . | 0 .. n (any elem

2006-10-07 18:27:00 1285 1

原创 尝试把正则表达式转换成指令序列形式

将识别正则表达式的DFA表示成转移函数表,每次都查找在转移比较麻烦。如果能表示成一个顺序的指令序列,通过顺序解释这个序列来处理字符串,将是一种很有效的方法。如果还能加入优化,把代码最小化还能提高不少效率。不过这也可能只是丫丫。先做一个试验对于正则表达式 (a|b)[0-9].*c,可以用以前的方法先生成语法树,然后出DFA。状态 (1,2)表示含有叶子1,2,等等。用伪码描述这个自动机str ::

2006-10-05 00:16:00 985

原创 MS-09B3 Gouf

刻线真是好麻烦  O_o 完成了

2006-09-23 18:18:00 1104

原创 正则表达式识别实现

算法算法参照《正则表达式识别》基本结构程序的主要模块是RegInterpreter,后面简称为Interp。它接受正则表达式字符串,输出一个识别该字符串的DFA。Interp先将字符串转换成语法树。为了简化对字符的判断,开一个包含所有1~127的ascii的表,描述字符的类型。比如这个字符是文本还是运算符,是数字还是字母,是不是括号等等。再加入宏,方便判断。语法树的所有结点都是RegN

2006-09-21 23:01:00 2159 1

原创 《正则表达式识别》

《正则表达式识别》正则表达式语法    ::= { }             |   | ::=              |  * ::=              |  ( ) ::=              | [ { } ]                         | [ ^ { } ]::=       

2006-09-18 22:10:00 6087 9

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除