原创 《正則表達式識別》
《正則表達式識別》 正則表達式語法 <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