Swift 教學Apple Swift 程式設計教學 Swift 是 Apple 推出的現代程式語言,設計目標是讓開發者以更直覺、更安全、更有效率的方式,打造 iOS、macOS、watchOS、tvOS 等平台上的 App。它的語法簡潔清晰,能用更少的樣板程式就表達完整的邏輯,對於團隊協作與維護工作特別友善。 Swift 在語言層面強調安全性,例如透過型別系統與 Optional 機制,降低常見的空值錯誤與執行期崩潰風險;加上強大的錯誤處理與編譯器提示,很多問題在編譯階段就能提早發現。效能方面,Swift 採用編譯式設計,能在保有高階語言開發速度的同時,也兼顧接近原生的執行效率。更重要的是,它與 Apple 的開發生態整合得非常緊密,像是 SwiftUI、Combine、async/await 等現代化工具鏈,讓 UI、非同步流程與資料流管理可以更一致、更優雅地完成;再搭配 Xcode 的自動補全、即時預覽與除錯工具,能顯著提升開發效率與品質。總體來說,Swift 是目前 Apple 平台開發最主流也最具長期價值的選擇。
首先將 Xcode 下載到您的 Mac 系統,啟用 Xcode 時將出現新功能介紹,例如近期加入的 Coding Intelligence 工具。
您可以選擇建立新的 Xcode 專案、開啟現有的 Xcode 專案,或是從 Git Repository 複製專案。
第 1 單元:環境與第一個 macOS App 安裝與設定:Xcode、建立 SwiftUI macOS 專案
認識專案結構:App、Scene、View 第一個畫面:Text、Button、基本排版概念(VStack/HStack) Hello Swift
Hello Swift 執行結果。
第 2 單元:變數、型別、字串與輸入輸出 let / var、基本型別(Int/Double/Bool/String) 字串插值、基本運算 用 SwiftUI 做簡易輸入輸出: TextField + Text 顯示結果
第 3 單元:條件判斷與簡單互動 if / else、比較運算子、邏輯運算 Toggle、Stepper、Slider 的互動 小練習:根據狀態切換文字/顏色/顯示隱藏
第 4 單元:迴圈、陣列、字典(資料容器) Array、Dictionary 基礎 for-in、while(點到為止) 用 List 顯示陣列資料、加入/刪除項目
第 5 單元:函式、回傳值與程式拆分 func、參數、回傳值、預設參數 把 UI 的按鈕事件拆成函式 小練習:整理「重複程式」成可重用函式
第 6 單元:SwiftUI 佈局與元件化 Spacer、padding、frame、alignment Image、SF Symbols、基本樣式(font、foregroundStyle) 自訂 View(元件化)、@State 基礎
第 7 單元:資料流與狀態管理(入門版) @State、@Binding、@Observable 或 ObservableObject(選一種講義固定) 多頁面觀念:NavigationSplitView / TabView(擇一) 小練習:做「設定頁」控制主畫面顯示
第 8 單元:檔案與圖片基礎(為拍貼機鋪路) 讀寫檔案概念(沙盒、使用者資料夾) macOS 選檔:OpenPanel(或 SwiftUI fileImporter) 載入圖片並顯示:NSImage / Image(講義統一一條路徑) 小練習:從資料夾選一張圖 → 顯示在畫面
第 9~16 單元:專案製作(macOS 拍貼機 App) 專案名稱:PhotoBoothSticker(拍貼機)
專案核心模組: 影像來源(相機/匯入) 2) 版型模板 3) 編輯工具(濾鏡/貼圖/文字) 4) 匯出列印 第 9 單元:專案架構與主畫面流程 拍貼機需求拆解(單機):流程圖(選來源 → 編輯 → 預覽 → 匯出) 建立專案資料模型:PhotoSession、FrameTemplate、StickerItem 主畫面 UI:左側步驟、右側工作區(SplitView 形式)
第 10 單元:影像來源(匯入照片) 單張匯入、多張匯入(fileImporter / OpenPanel) 建立「照片清單」與縮圖瀏覽(List/Grid) 選取照片 → 放入編輯區(Canvas)
第 11 單元:版型(Template)與排版基礎 版型概念:2 格 / 4 格 / 直條等(先用固定 JSON 或 enum) 用 GeometryReader 做格子排版 把匯入照片「填進格子」:裁切模式(Fill/Fit)概念
第 12 單元:圖片基本調整(縮放、旋轉、位置) 每張格子照片的調整:拖曳、縮放、旋轉(手勢) 狀態保存:每格一份 Transform(scale/rotation/offset) 做「重置」與「套用到全部」的基本概念(可簡化)
第 13 單元:濾鏡(Core Image 入門) Core Image 基礎:CIFilter、CIContext 套用 2–3 種常用濾鏡(例如:單色、復古、亮度對比) 即時預覽(低強度):用 slider 調整強度
第 14 單元:文字與貼圖(Overlay 系統) 文字疊加:新增文字、字型大小、顏色、描邊/陰影(擇要) 貼圖疊加:內建貼圖素材(App Bundle 資源) Overlay 物件模型:id、type、position、scale、rotation、zIndex 選取/刪除/置頂置底(最基本的即可)
第 15 單元:合成輸出(Render 成一張成品圖) 把版型 + 照片 + overlays 合成:輸出成 PNG/JPG 指定解析度:例如 1800×1200 或 A6 尺寸對應像素(講義固定一組) 存檔:SavePanel、輸出路徑與檔名規則 自動生成縮圖預覽(用於完成頁)
第 16 單元:列印與完成流程(單機收尾) macOS 列印基礎(NSPrintOperation / 影像列印概念) 完整流程串接:開始新拍貼 → 編輯 → 匯出 → 列印 錯誤處理與使用者提示:無照片、無權限、輸出失敗 最終整理:專案檔案結構、主要類別/檔案的職責總覽
Swift-01-xcode-basics Swift-02-variables-and-types Swift-03-if-else Swift-04-loops-and-arrays Swift-05-functions-and-parameters Swift-07-SwiftUI-data-flow Swift-08-file-and-image-import Swift-09-photo-booth-sticker-app Swift-10-open-panel-file-picker Swift-11-photo-template-layout Swift-12-image-editing-gestures Swift-13-core-image-filters Swift-14-render-and-export-image Swift-15-save-panel-export Swift-16-macos-printing-nsprintoperation [ Swift-17-Ollama ] 整合運用 - 製作專屬 AI 聊天機器人
|