Skip to Content

Storyboard

Mac Cocoa NSTableView 程式與綁定

經過這兩篇「NSOutlineView 使用程式呈現樹狀資料」、「Mac Cocoa NSOutlineView 資料綁定」的練習,這次直接處理 NSTableView,果然駕輕就熟,稍為查一些資料,很快就做出成果了,畢竟它比 NSOutlineView 簡單,基本架構都差不多。

這篇就不談太多細節,只把重點記錄下來。

資料綁定

先由資料綁定做起。

準備資料

TableView 是表格狀的資料,所以就用藏經目錄的結構來處理,底下只有三個欄位,ID、經名與作譯者。

宣告 catalog 變數,它是 Catalog 物件的陣列,底下建立了三筆資料。

Cocoa 用程式操控視窗 (下)

 

本篇要實作二個視窗,一個主視窗,一個子視窗,類似在 MS Window 開發程式時的 fmMain、fmOption 二個視窗。

重點在於主視窗可以開啟子視窗,子視窗可以關閉,但並不是像 Mac 的視窗那樣真的關閉,只是隱藏起來。當再次開啟副視窗時,則再次呈現,畫面中的內容也保持一樣。

同時也希望各視窗之間可以彼此操控對方的元件。

 

初步構想

 

  1. 先設定全域變數 vcMain 和 vcOption 來記錄二個視窗的 ViewController。

  2. 要開啟子視窗時,先判斷子視窗是否已經實作了?若無,則實作它,若已實作了則顯示它。

  3. 實作視窗後,記錄在全域變數中。

  4. 子視窗關閉時,採用隱藏方式。

  5. 利用全域變數去控制對方視窗的元件。

 

Cocoa 用程式操控視窗 (上)

 

在這系列【Xcode 用 Storyboard 開發程式記錄】已經學會了建立視窗與畫面,開啟視窗,以及為元件寫簡單程式。

底下這一系列就要學習如何用程式來開啟視窗,以及跨視窗操作視窗和元件等各種功能,最後再實作一個總複習,讓視窗與元件的控制可以自在無礙,這也是未來設計 CBReader Mac 版的的前測試。

 

Xcode 用 Storyboard 開發程式記錄 (4/4)

 

在獨立檔案建立共用物件

這個階段要建立一個共用物件,例如程式的設定資料,我希望在一個獨立的檔案建立 CSetting 類別,產生 Setting 物件,然後在第二個視窗去修改設定內容,並且在第一個視窗可以取得修改過的資料。

同樣建立新檔,這次不是視窗,所以選空白的 Swift File。

Xcode 用 Storyboard 開發程式記錄 (3/4)

 

建立第二視窗

接著要設計開啟第二個視窗的功能。

首先打開元件列表,將 View Controller 拉到設計畫面,也就是藍框的位置,那就是第二個視窗。

Xcode 用 Storyboard 開發程式記錄 (2/4)

設計畫面

現在要在畫面上加一些元件。

先按下右上角紅框的+號,會出現元件列表,把一個 Push Button 拉到畫面的 View 中。

Xcode 用 Storyboard 開發程式記錄 (1/4)

這一篇算是自己初學 Xcode + Storyboard 的記錄,想要了解檔案、視窗之間彼此的關係。

Mac 最新推出的是 SwiftUI 框架,但它必須要最新的 macOS 10.15 Catalina 才能執行,而且參考資料不多,所以我還是先學習 Storyboard。

以下記錄是自己查詢及摸索來的,主要目標是讓程式可以執行,並不一定是正確的或最好的,也許解釋上還有錯誤,參考時請小心。

訂閱文章


about seo