今天午餐吃什麼?Array、Int random 練習

分享
今天午餐吃什麼?Array、Int random 練習

辦公室總是有午餐選擇困難症?點點按鈕找靈感吧!

作品目的

為了解決每日的午餐選擇困難症,透過這個小專案,可以隨機挑選午餐,並熟悉 Swift 的基礎知識。

學習目標

  1. 熟悉 Xcode 介面
  2. 掌握 Array 陣列的使用
  3. 學會使用 Int random 隨機函數

APP 的主要功能

按下按鈕時,APP 會隨機推薦以下五種料理,並附上示意圖。這些圖片我都是使用 Canva 製作,並且利用 App Icon Generator 產出 3 種大小,提供 Xcode 使用。

  1. 中式:炒飯
  2. 韓式:石鍋拌飯
  3. 美式:漢堡
  4. 日式:壽司
  5. 越式:河粉

製作步驟

1 設計介面

  • 使用 Interface Builder 來設計 APP 介面。
  • 更改背景顏色:選擇 View -> Attributes Inspector -> Background。
  • 在 imageView 中,我們要放入 Label、image 和 button。確保每個元件都有正確的 Auto Layout constraints。

2 連結介面

  • 使用 IBOutlet 和 IBAction 來連接 UI 元件和程式碼。
  • 將圖檔和按鈕都連結到 ViewController:按著鍵盤的 Control 並拖曳圖檔和按鈕 (Control-drag) 到 ViewController 的 code,在 Interface Builder 和 code 之間建立連接。

3 定義常數

  • 使用 let 關鍵字來定義不可變的常數。
  • 使用 #imageLiteral(resourceName: "料理圖片名稱") 來直接在 code 中插入圖片,這蠻酷的,第一次知道 swift code 可以出現縮圖!不過圖片如果都是文字很容易看不清楚。
let foodImages: [UIImage] = [
#imageLiteral(resourceName: "us"),
#imageLiteral(resourceName: "vn"),
#imageLiteral(resourceName: "jp"),
#imageLiteral(resourceName: "cn"),
#imageLiteral(resourceName: "kr")
]

4 連結按鈕和圖片

  • 使用 @IBAction 來響應按鈕的點擊事件。
  • 利用 Int.random(in:) 來隨機選擇一個食物的圖片。
@IBAction func chooseFood(_ sender: UIButton) {
let randomIndex = Int.random(in: 0..<foodImages.count)
foodImageView.image = foodImages[randomIndex]
}

5 設定自動佈局

自動佈局(Auto layout) 可以確保 APP 在各種裝置和螢幕尺寸上都保持原樣、不會跑版。我覺得它很像 PPT 的「群組」功能,不僅可以對齊物件(alignment),還能調整大小 (distribution)!
不過要排得整齊,我還在學習,目前了解到要注意這 3 點:

  1. 從小區塊開始建立 view,再到 stacked view,最後建立整體的 stacked view。
  2. 抓出每個區塊的 fill equally。
  3. 為了避免壓到手機邊界,要設定 safe area
0:00
/0:22

自動佈局要排得好,還有很多值得深入研究的地方,請教 ChatGPT 後,它提供以下建議:

  1. 理解 Constraint 的優先級:
    • 每個 Constraint 都有一個優先級,範圍從 1 到 1000。預設為 1000,代表這是一個必要的約束。
    • 較低的優先級意味著約束可以在需要時被打破。
  2. 使用 Stack View:
    • Stack View 是一個非常強大的工具,可以自動管理其子視圖的佈局。
    • 它可以是水平或垂直的,並且可以設定間距、對齊和分佈。
  3. 避免使用絕對座標:
    • 當設計介面時,盡量避免使用固定的座標值。這樣可以確保你的介面在不同尺寸的螢幕上都能正確地呈現。
  4. 使用 Safe Area:
    • Safe Area 是 iOS 11 引入的一個新概念,它考慮到了如瀏海、Home 指示器等特殊的 UI 元素。確保你的內容都在 Safe Area 內,可以避免被這些元素遮擋。
  5. 預覽多種裝置和方向:
    • 使用 Xcode 的 Interface Builder 中的 Preview 功能,可以同時預覽多種裝置和方向的介面。這樣可以確保你的佈局在所有情況下都正確。
  6. 使用 Size Classes 進行適應性佈局:
    • Size Classes 允許你根據裝置的尺寸和方向定制你的介面。例如,你可以為 iPad 和 iPhone 設計不同的佈局。
  7. Debugging Auto Layout:
    • 如果你的佈局出現問題,Xcode 會在 Interface Builder 中用紅色和橙色線條來指示。
    • 學會解讀這些提示,並使用 Xcode 的 Debug View Hierarchy 功能,可以幫助你更快地找到和解決問題。

參考資源

Read more

第一張 AI 證照 AIF-C01 考試準備心得|AWS Certified AI Practitioner

第一張 AI 證照 AIF-C01 考試準備心得|AWS Certified AI Practitioner

2025 年的此刻,AI 工具早就像魔法一樣融入我的日常,搜尋用 Perplexity、行銷文案靠 ChatGPT、Vibe coding 則用 Cursor 搭配 Claude。 雖然用得很順手,但有時總覺得自己只會無腦放魔法——知道怎麼用,卻不太懂原理。 這讓我想到《葬送的芙莉蓮》裡的費倫。她雖然一開始只會反覆練習基礎魔法,但正因為打好了紮實的基本功,到了關鍵時刻,反而能發揮出比其他魔法使更強大的威力。我也相信,學習 AI 不能只停留在「會用」的層次,基礎觀念才是未來進階的關鍵。 所以,當我看到 2025 AWS Educate 證照陪跑計畫的宣傳,覺得這正是補足基礎、理解 AI 原理的好機會。線上直播課程教觀念、工作坊學實作,還有半價考證照和精美禮物等超多誘因,當然要把握,決定衝一波人生第一張 AWS 國際證照🚀 受惠於前輩們的分享,

By Kyle Lu
AI 如何重塑創作與職涯?

【AI EXPO Taiwan 2025 博覽會】AI 如何重塑創作與職涯?

參觀了 AI EXPO Taiwan 博覽會之後,我對 AI 如何改變內容創作、個人品牌打造和職涯發展有些想法。無論你是創作者、行銷人還是對 AI 有興趣,這次分享也許能帶給你一點啟發。 我觀察到創作者為了隨時跟粉絲互動,製作 AI 分身;想打造爆紅影片,用 AI 分析架構,模仿並超越。我們讓 AI 輔助加速創作過程,善用 AI 增加網路影響力。但越來越多人都會用 AI 的時候,我們的核心競爭力是什麼? AI 內容創作與個人影響力 當多數人都在討論 AI 如何取代工作,也許可以把握「如何善用 AI 擴大個人影響力」的機會。 FansNetwork 創辦人 李婷婷分享了有趣的 AI 分身應用。作為擁有超過 10

By Kyle Lu
關於文組點技能在 iOS 開發者這檔事

關於文組點技能在 iOS 開發者這檔事

「欸?我現在的工作好像有 1/3 都能用 AI 做了!」 2023 年中,當我發現自己思考完行銷策略後,就看著 AI 輸出行銷大綱和社群文案,內心莫名慌了一下。我開始認真思考:這樣下去,行銷人的未來在哪裡? 當 AI 成為最強戰友,是危機還是轉機? 說真的,當我第一次用 AI 幫忙分析 Persona 時,我驚呆了。它不只能根據目標市場和產品特點描繪出詳細的用戶形象,還能提供這個目標客群可能感興趣的行銷主題,根據這些主題產出一整個月的貼文草稿,甚至貼心的加上 emoji 和熱門 hashtag! 不只是內容創作,連 OKR 目標拆解和數據分析,AI 都能幫上大忙。以前要花一整天完成的工作,現在大概只需要 2-3 小時,我只需要專注在最後的微調和關鍵決策上。 未來的行銷部門,會不會變成一個人帶著一群 AI 助理就能搞定所有事?

By Kyle Lu
《蛤蟆先生去看心理師》閱讀心得

《蛤蟆先生去看心理師》閱讀心得

最近總是提不起勁,覺得什麼都做不好?你可以把《蛤蟆先生去看心理師》當書籍版的 Netflix 看。 這不只是一個關於心理諮商的故事,還巧妙地將心理學理論融入其中。作者的文筆生動、富有童趣,看諮商過程就像在追劇一樣停不下來。 透過蛤蟆先生和心理師蒼鷺的十次諮商,你會見證療癒與改變的發生。書中探討了憂鬱、自卑、潛意識、自我批判等心理問題,並運用了溝通分析理論來協助蛤蟆面對內在的小孩和成人狀態。 誰是當事人?心理諮商的第一步 在《蛤蟆先生去看心理師》中,蒼鷺心理師提出一個重要問題:「誰才是我的當事人?」這是對諮商對象一個很好的提醒。 不管別人再怎麼苦口婆心,如果自己沒有意識到需要找人聊聊/訴苦/諮商,那就跟對牛彈琴沒兩樣,牛只會覺得你很吵而已。 增加心理諮商效果的祕訣:信任加上合作 要讓諮商有效果,首要之務就是建立「信任」。這就像是相信我家巷口的滷肉飯一定好吃一樣,有了信任,才能開始「合作」關係。我很喜歡蒼鷺不斷邀請蛤蟆「合作」找出原因,這種平等關係讓人感覺不是在「花錢聽課」,而是在共同探索。 這提醒了我,

By Kyle Lu