Swift 5.3 新功能預覽 大大提高整體語言的質量和性能
Apple 的宣佈 Apple 於 3 月 25 日宣佈,Swift 5.3 的發佈過程已經開始了,這次的變更十分大,因為新版本將提高整體語言的質量和性能,並使 Swift 支援 Windows 和 Linux 等多個平台。讓我們詳細看看新功能吧! Enum 可用作 Protocol Witness 現在,一個類別要擴展協定,就需要完全符合協定的要求。舉個例子,如果我們在協定中編寫了靜態...
View ArticleComputer Vision :利用矩形偵測和文字辨認 打造一個掃描信用卡的 App
自 iPhone 問世以來,攝影功能一直是 Apple 專注的核心。幾年下來,他們釋出了許多驚艷的功能,讓大家無法捨離 iPhone。因為 Apple 不斷增加圖像智能功能,讓使用者能夠拍出更好的相片。 具體來說,Apple 在電腦視覺領域大量投資,其 2017 年釋出的 Vision 框架,也會每年推出重大更新。 Apple 推出了臉部偵測 (face detection)、物件追蹤...
View Article使用 UIViewRepresentable 協定 讓你輕鬆建立 SwiftUI TextView
我非常喜歡使用 SwiftUI 框架,但是,與多數的新框架一樣,SwiftUI 也有一個缺點,就是它未能提供所有 UIKit 有的 UI 控件,比如說,你無法在 SwiftUI 找到與文本視圖 (text view) 相對應的控件。幸好,Apple 有一個 UIViewRepresentable 協定,讓你可以輕鬆打包 (wrap) 一個 UIView,並讓 SwiftUI 專案使用。...
View ArticleSwiftUI 小技巧:簡單在列表視圖移除分隔線 (Line Separator)
SwiftUI 的列表視圖 (List View) 其實和 UIKit 的表格視圖 (Table View) 很類似,它們都是讓開發者把項目一列列地呈現,而預設設定上,每一列資料都會用分隔線 (line separator) 分開。在 UIKit 中,我們可以很簡單地改變分隔線的外觀與顏色;然而,SwiftUI 就沒有一個官方方法來移除分隔線。這麼一來,我們需要使用 UIKit API 來調整在...
View ArticleXcode 12 和 Swift 5.3 新功能詳解 讓你寫出更強大的程式碼!
WWDC 2020 上個月首次在前所未有的條件下完成,全球所有開發者都有機會坐在前排,了解 Apple 今年即將發佈的所有新功能和改進。與往常一樣,Apple 介紹了許多新東西和大進步,相信我們每個人都非常興奮,希望作很多新嘗試。 這篇文章旨在介紹 Xcode 和 Swift 的新版本。 Xcode 12 的第一個 beta...
View Article用 Swift 建造自己的輕量級 Dependency Injection 與 Inversion Of Control!
你聽過依賴注入嗎?身為 iOS 的開發者,是否對於依賴注入 (Dependency Injection) 與反轉控制 (Inversion Of Control) 的設計模式感到心動呢?接下來就讓我們手把手,不依賴第三方類別庫,打造屬於自己的輕量級 DI 與 IoC,增加程式碼的可讀性與可測試性,也一併提升可維護性與彈性。這篇文章建議大家搭配源碼閱讀。 什麼是依賴注入與反轉控制?...
View Article利用 LibraryContentProvider 重用 SwiftUI 視圖 大大加速開發過程!
在 WWDC 2020 中,Apple 為生態系統的整個開發過程帶來了許多新功能和改善,肯定每個開發者都能從中找到覺得興奮的新功能。部分新功能就是關於 Xcode 12 及 SwiftUI 的,我們在先前的文章已經簡單地介紹過 Xcode 12 及 SwiftUI 的新功能。開發者可以利用新的 LibraryContentProvider 功能,創造出可重用的 SwiftUI...
View Article在 Xcode 12 使用 StoreKit 測試 App 內購 讓你加速開發進度
雖然 WWDC20 結束至今已經過了五個月,我們還在討論今年發佈的新框架、API、以及改善。在這麼多新功能中,有一些會對我們實作 App 內購 (In-App Purchase) 時有重大影響,那就是我們可以在 Xcode 12 中本地測試 StoreKit 的新功能。 現在,我們必須停止原本的開發流程,並到 App Store Connect 才能夠創建必要的 App 內購紀錄,以及最少一個的沙盒...
View Article利用 Swift 在 iOS 構建獨特漂亮的 QR code 視圖
QR Code 是一種認證技術,廣泛應用於行動科技領域中。iOS 內建支援創建帶有 Payload 的漂亮 QR Code 圖像。在本篇教學中,我們將會學習這個技巧。 QR code 的基本組件: Payload,多數是一個網址 QR code 錯誤修正功能 可選公司圖片/Logo 可選顏色 首先,讓我們先構建結構,然後再實作基本和漂亮的 QR Code 視圖。 這就是基本的結構,使用者要按需要傳遞...
View Article策略模式 (Strategy Pattern)簡介 讓程式碼拓展起來更容易
我們在編寫類別時,有時會用上大量看上去很相似的方法,但礙於它們在計算方式上存在關鍵的差異,讓我們無法編寫一個通用函數,而刪減其他的函數。今天,讓我帶大家看看一種設計模式,它讓我們可以創建一個函數,來管理所有函數,如此一來,我們就可以刪除那些幾乎一模一樣的方法 ── 那就是策略模式 (Strategy Pattern)。 什麼是策略模式? 策略模式是屬於物件導向程式設計...
View Article