2010年12月31日 星期五

太久沒寫Blog了

之後再來維護好了,
隱居了兩年多了,繼續來寫文章。

2010年11月18日 星期四

2010年11月16日 星期二

2010年9月15日 星期三

2010年9月14日 星期二

[iPhone] How To Save Your App Data With NSCoding and NSFileManager | Ray Wenderlich

How To Save Your App Data With NSCoding and NSFileManager | Ray Wenderlich

1. 用NSCoding和NSFileManager存取資料。

2. 取得App下的Library的目錄:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];    
documentsDirectory = [documentsDirectory stringByAppendingPathComponent:@"Private Documents"];

[iPhone] WWDC 2010 Session Videos

WWDC 2010 Session Videos - Apple Developer

一堆demo的影片。free

2010年9月13日 星期一

[iPhone][OpenGLES] depth buffer的設定方式

OpenGL ES render to texture, then draw texture - Stack Overflow

// attach depth buffer
GLuint depthRenderbuffer;
glGenRenderbuffersOES
(1, &depthRenderbuffer);
glBindRenderbufferOES
(GL_RENDERBUFFER_OES, depthRenderbuffer);
glRenderbufferStorageOES
(GL_RENDERBUFFER_OES, GL_DEPTH_COMPONENT16_OES, width, height);
glFramebufferRenderbufferOES
(GL_FRAMEBUFFER_OES, GL_DEPTH_ATTACHMENT_OES, GL_RENDERBUFFER_OES, depthRenderbuffer);

2010年9月8日 星期三

2010年9月7日 星期二

[iPhone][OpenGLES] anti-alias的處理

OpenGL ES iPhone - drawing anti aliased lines - Stack Overflow

目前的做法,是用背景色再描一次triangle的edge,
在setting上,設了下列的參數。

glPointSize(2.0);

glEnable(GL_POINT_SMOOTH);


然後再繪製primitive時,用背景色(黑色)再描一次黑邊。

/// anti-alias...

glColor4f(0.0, 0.0, 0.0, 1.0);

glDisableClientState(GL_TEXTURE_COORD_ARRAY);

glDrawArrays(GL_LINES, 0, 8);

2010年9月5日 星期日

Mac OS X:在活動監視器中讀取系統記憶體用量

Mac OS X:在活動監視器中讀取系統記憶體用量

這篇解釋了Mac裡面的記憶體的使用,還蠻清楚的。
果然還是要看官方的文件啊。

2010年8月31日 星期二

2010年8月29日 星期日

2010年8月28日 星期六

Qt Model Classes

官方文件連結:Qt 4.6: Model Classes

1. Index的重要性:
用來定義View所要取得的資料位置,為了讓其它的View可以共用Model,所以這邊的Index為QModelIndex和QPersistentModelIndex兩種。QModelIndex是屬於暫時性的index,而另一種從字面上來看,可以很清楚的知道是永久的Index。而該Index所索引的資料為誰,只有Model知道。View是不清楚的。

Rows和Columns。大多數的情形下,資料可以看成是一個table,用row和column來定位該資料的位置。




Qt的Model / View的文件


先來K一下這份文件好了。
這種特定主題的文件,覺得還蠻值得一看的。

2010年8月27日 星期五

總算解決了Q_OBJECT的micro,產生的link error...


平台: Qt Creator (2.0.0) Based on Qt4.7.0 (目前最新的唷)

總算是解決了加上這個micro之後,
總是會有undefined vtable for... 的問題。

追了一些文章,再看一看解決後。
問題是MakeFile.xxx,並沒有跟著更新。
手動刪掉它們,再編譯就行了。但為什麼會這樣呢?

因為MakeFile.xxx 是由一些前期編譯器所產生的,
如qmake, moc, uic, ....,
其中Q_OBJECT,會和signal, slot有關,需要moc先編譯,產生相對應的 .obj (或 .o) 出來。
而link時,會與這些 .obj 或 .o 做Link。而上述的錯誤,是link時的錯誤,而不是語法上的錯誤。

這也就是找到的文章,會說是moc的問題。但再往回追,Qt Creator裡不是有.pro檔,
而且預設的build的命令也下好了,qmake, 然後make....。

所以我覺得,Qt在設計上,很多小細節設計是不良的。
而且上Qt Forum查資料,我最常看到的回應是,再回頭去看Qt的官方文件。

因為常需要看iPhone的官方文件,說真的,Qt的官方文件啊,我覺得還蠻弱的。

2010年8月25日 星期三

2010年8月13日 星期五

2010年8月11日 星期三

2010年7月19日 星期一

Qt QTableView的使用範例 II

Qt Snapshot: 2010-07-19 (Monday) 03:39:41: Star Delegate Example

另一個TableView的使用範例。

Qt QTableView的使用範例

Qt Snapshot: 2010-07-19 (Monday) 03:39:41: Pixelator Example

Qt Creator 2.0, Editor.

Using the Editor

- 可以split window。在Window -> Split (Ctrl + E, 2)。還有其它相關的split的commands,這邊自己看吧。
- Qt 的completing Code的快速鍵,是ctrl + space。
1. Tools > Options... > Text Editor > Completion, 裡面的Autocomplete common prefix。
- Bookmark。滑鼠右鍵的pop-up menu裡,有個Toggle Bookmark (Ctrl + M)
- 直接看symbol的definition或是declaration。ctrl + click
1. Tools > Options... > Text Editor > Behavior。 Enable mouse navigation。

2010年7月14日 星期三

整理:Downgrade iPhone 3G(s) from OS 4 to OS 3.1.3


a. 參考文章:
1. 英文:
Link1

2. 中文:

b. 整理:
1. 看起來英文的文章,裡面寫的比較清楚。中文的連結步驟感覺比較多。
2. 應該是在Mac上操作會比較簡單!?