Skip to Content

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

 

在獨立檔案建立共用物件

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

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

儲存檔名為 Setting.swift。

建立的程式只有第一行 import Foundation

我們建立一個 CSetting 的類別,有個 a 成員變數。

最後一行是建立一個 Setting 物件,這個是全域的變數,每個物件都能讀取的資料。

在此順便說明一些 Xcode 上特殊的註解,可以使用這些

// MARK: 一般註解

// TODO: 待做事項

// FIXME: 待修正內容

示範如下。

在上方導覽列的後面點滑鼠左鍵,可以看到如下圖,特殊註解的部份都會列出來,方便我們查詢。

接著在第二個視窗建立一個輸入欄位。

撰寫程式如下。

當按下 Button 之後,會做二件事。

1. 把 Setting 物件的 a 成員變數設定成輸入欄位中的數字。程式沒有防呆,所以若沒輸入或輸入非數字,程式會出錯。

Setting.a = Int(edEdit.stringValse)!

2. 在 Lable 上呈現 Setting.a 的內容。

同樣,在第一個視窗也設計一個按鈕,按下去之後也要讓 Label 呈現 Setting.a 的內容,表示不同視窗都可以讀取 Setting 的內容。

測試結果

執行程式,首先出現第一個視窗,按下紅色按鈕,果然呈現 Setting.a 的預設值 10。

接著在第一個視窗按下紅色按鈕,開啟第二個視窗。

在輸入欄輸入 999,按下綠框的 Button,中間的 Label 果然呈現 999。

再回到第一個視窗,按下紅框的 Button,中間的 Label 果然也變成 999,表示程式能順利讀取到 Setting 物件的 a 成員變數了。

至此,基本的視窗、物件、程式之間的關係總算有初步的明白了。

 

回應

發表新回應

這個欄位的內容會保密,不會公開顯示。
  • 自動將網址與電子郵件地址轉變為連結。
  • 自動斷行和分段。
  • 可使用的 HTML 標籤:<a> <address> <b> <blockquote> <br> <caption> <center> <cite> <code> <dd> <del> <div> <dl> <dt> <em> <h1> <h2> <h3> <h4> <h5> <h6> <hr> <i> <img> <ins> <li> <ol> <p> <pre> <span> <strike> <strong> <sub> <sup> <table> <tbody> <td> <th> <tr> <u> <ul>
    Allowed Style properties: background, background-attachment, background-color, background-image, background-position, background-repeat, border, border-bottom, border-bottom-color, border-bottom-style, border-bottom-width, border-collapse, border-color, border-left, border-left-color, border-left-style, border-left-width, border-right, border-right-color, border-right-style, border-right-width, border-spacing, border-style, border-top, border-top-color, border-top-style, border-top-width, border-width, bottom, caption-side, clip, color, direction, empty-cells, font, font-family, font-size, font-size-adjust, font-stretch, font-style, font-variant, font-weight, height, left, letter-spacing, line-height, list-style, list-style-image, list-style-position, list-style-type, margin, margin-bottom, margin-left, margin-right, margin-top, max-height, max-width, min-height, min-width, overflow, padding, padding-bottom, padding-left, padding-right, padding-top, right, table-layout, text-align, text-decoration, text-indent, text-transform, top, unicode-bidi, vertical-align, white-space, width, word-spacing, z-index

更多關於格式選項的資訊

CAPTCHA
驗證碼只有阿拉伯數字, 這是躲廣告用的, 麻煩你輸入了.
Image CAPTCHA
Enter the characters shown in the image.


story | about seo