下面就用乙個小畫板的例子介紹乙個設計模式在裡面的作用。
www.objective-c-design-patterns.com
程式的gui
小畫板需要有畫圖的view還有設計畫筆的view和縮圖顯示的view,因為cocoa十分看重mvc模式,所有的顯示都要基於這樣的模式,也就是每乙個view都必須有乙個controller
canvasviewcontroller
paletteviewcontroller
thumbnailviewcontroller
當所有的view和controller都設計好之後,乙個問題就是這些view之間相互切換怎麼做比較好,這裡就需要乙個mediator的模式來做。
畫筆的顯示
cocoa touch提供了quartz 2d在uiview來畫圖,api如下
cgcontextmovetopoint()
cgcontextaddlinetopoint()
cgcontextstrokepath() 等等
dot:
(void) drawwithcontext:(cgcontextref)context
vertex:
- (void) drawwithcontext:(cgcontextref)context
stroke:
- (void) drawwithcontext:(cgcontextref)context
cgcontextsetlinewidth(context, self.size);
cgcontextsetlinecap(context, kcglinecapround);
cgcontextsetstrokecolorwithcolor(context,[self.color cgcolor]);
cgcontextstrokepath(context);
}thumbnail的顯示
由於顯示所有的文件的時間比較長,所以這個比較適合proxy,用多執行緒來載入。
iOS開發 MVC設計模式
聽說現在開始流行mvvm設計模式,聽上去好像有點新奇,暫時還是習慣mvc設計模式,接下來主講mvc模式.說到ios中的mvc還是從2011秋季斯坦福課程的老頭的iphone公開課講起,這個教授講的概念很準確 並且最為淺顯易懂的.model view controller mvc設計模式認為有三種型別...
iOS開發設計策略模式
ios應用能加密?全球都沒有的技術,你造嗎?作為開發ios應用的,是不是感到自己out啦?快來看看什麼是ios應用加密 在ios開發中,使用官方框架,官方sdk中,可以接觸到不少設計模式,可能平時沒有注意,實際上已經用到了不少設計模式 下面舉乙個例子 比方我有乙個nsmutablearray,裡面每...
iOS開發 單例設計模式
一 什麼是單例 單例 在記憶體中只有唯一的例項,並且提供乙個全域性的訪問方法!單例的好處 可以實現同乙份資源共享。二 單例設計 非全部封死,提供兩個建立物件的方式 1 可以選擇使用類方法,直接建立乙個單例物件 2 也可以選擇使用其他方式,如alloc init方式,建立非單例物件 在單例類的.m檔案...