原创 《正則表達式識別》

《正則表達式識別》 正則表達式語法 <re>    ::= <expr> { <expr> }             |   <re> '|' <re><expr> ::= <term>             |  <term>

原创 正則表達式識別實現

算法 算法參照《正則表達式識別》 基本結構 程序的主要模塊是RegInterpreter,後面簡稱爲Interp。它接受正則表達式字符串,輸出一個識別該字符串的DFA。Interp先將字符串轉換成語法樹。爲了簡化對字符的判斷,開一個包含所

原创 很好用的KVO

object-c的KVO很好用,能省掉膠水代碼。   使用起來很簡單   先註冊一個監聽   [content_ addObserver:self forKeyPath:@"title" options: NSKeyValueObserv

原创 增強UIWebView的cache

嘗試了一下增強UIWebView的cache。不過實際效果並不理想。即便有cache,消除了從新聯網請求都時間,但是重新排版時間仍然很長。UIWebView對前進後退都響應速度沒明顯改善。   這裏介紹簡單粗暴的利用文件系統增加cache

原创 S60上的帶魚眼放大效果列表

首先要強烈鄙視一下給Nokia S60設計UI接口團隊——用到現在最噁心的,文檔最不完整的UI框架了。   然後要感謝一下Forum Nokia Wiki 上的 Mayank , 提供了一個魚眼列表的範例程序,雖然有bug。   htt

原创 v8裏一段很巧妙的帶cache的字符類型判斷模板類

編譯過程經常需要判斷字符的類型。   有些判斷很簡單,數字就是['0','9'],字幕就是['a','z']和['A','Z']。幾個比較語句就搞定了。   有些比需要比較多的判斷次數,因爲他們是一個不連續的編碼的字符集合。像最常見的空字

原创 使用UIPopupViewController

需要準備兩個ViewController,一個是UIPopupViewController,一個是需要包含在裏面的內容。   @interface MainViewController : UIViewController<UIPopov

原创 從google group上得到的好東西

The ebooks ( http://rapidshare.com/files/215839629/Symbian_eBook_Library.rar.html  ) are : Developing Software for Sym

原创 從替換objc類成員方法觀察成員方法尋址

objc的動態特性真是很好玩   cocoadev上有一篇關於替換成員方法的文章,可以將一個成員方法替換成新的實現 原文 http://www.cocoadev.com/index.pl?MethodSwizzling   這裏又觀察到一

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

做了快2年了,到先才基本上能接近自己設想的樣子。   一開始只是想模仿一下symbian系統的桌面加個新聞天氣搜索。變成一個能接入互聯網的東西。再加上模仿T9撥號的搜索功能。 其實這2年時間基本都是在和噁心的symbian系統搏鬥。對於

原创 在S60v和v5上探測正在運行的widget和關閉widget

(這個方法在v3上也測試過了。)   首先需要去Symbian.org下載開源的Symbian3   至少要下到binaries_epoc.zip,binaries_winscw.zip,binaries_armv5.zip,src_os

原创 終於完成了第一個完整的編譯程序

終於完成了第一個完整 編譯程序。 雖然是把java script編譯成在自己定義的虛擬機上運行的字節碼,但是還是很感動——從學會寫代碼,到學會寫程序生成腳本,再到學會生成彙編指令代碼。終於完成了一次進化。 一個能在j2me上運行的java

原创 通過xib文件創建子控件

有些情況下需要動態增加一些子控件。如果用代碼直接構建子控件,就是比較麻煩。儘量少寫代碼。所以想到的是用xib文件來實現UIView。問題是UIView不能直接從xib文件構造。 可以通過寫UIViewController來加載xib。但是

原创 在4.2系統上發現的NSString行爲變化

突然被人問道[NSString stringWithString:@"xxx"]產生的字符串要不要顯示地釋放。   雖然第一反應是不需要釋放。不過爲了保險期間還是查看了一下retainCount。   然後發現了奇怪的東西。   NSSt