MVVM

MVVM(Model , ViewModel,View)

目的是讓controller更好測試,減少複雜性,把一些有關畫面需要處理的邏輯判斷寫在viewModel裡面,比較有價值的邏輯測試是在controller裡面。

Continue reading “MVVM"

廣告

GCD & NSOperation

GCD:用來管理隊列,及創造隊列,執行隊列會在另外開一個單獨的線程中執行,而不是在原本創造隊列的線程(如主線程),依需求執行時可選擇Sync同步(會阻塞當下的線程),Async非同步(不會阻塞),另外系統裡面default時會有一個串行,四個並行的隊列可供使用,但注意這些也會被蘋果內部的API做使用,所以隊列中不僅僅只有你的任務而已,當然可以創建自己的隊列。

  • Dispatch 對列可分為兩種:

1.Serial (串行隊列):就是一個會等上一個結束,下一個才進去,有順序(FIFO)先進先出,但較慢,好處就是避免競速發生,也可用串行達到並行的效果,就是開好幾條串行下去跑。

2.Concurrency (並行隊列):就是一次好幾個同時進去,無順序,順序都是系統決定,較快

Continue reading “GCD & NSOperation"