Quantcast
Channel: swift – AppCoda
Viewing all 172 articles
Browse latest View live

Swift 5.2 初探:有甚麼嶄新的功能等著你去探索?

$
0
0

隨著 Apple 推出 Xcode 11.4,Swift 5.2 也正式發佈了。 這次的版本對開發人員可說是福音,因為它著重於改善開發人員的體驗。借助改善了的診斷功能,開發人員可以更快地解決錯誤。現在,程式碼完成功能 (Code completion) 運作得更好,而且程式碼的大小和記憶體使用量也減少了。 在本篇文章中,我們將會快速地看看最新版本語言的改變!讓我們開始吧! 函數式 Key Path Expression Swift Evolution 提案 SE-0249 推出了一個 Shortcut,讓我們可以在某些特定情況下使用 keypath。 它讓我們在可以使用 ( […]

你可以到 Swift 5.2 初探:有甚麼嶄新的功能等著你去探索? 閱讀完整文章。如果你對其他iOS教程有興趣,歡迎到 AppCoda 繼續瀏覽。


SwiftUI 教學:利用 iPad 的 Swift Playgrounds 都可以學習 App 開發!

$
0
0

「我手上只有 iPad 而已,我可以用它來開發 iOS App 嗎?」 這是入門開發者最常問的問題。我一般的回應都是:「不行,你需要一台 Mac,來運行 Xcode 開發 iOS 程式。」 「那 iPad 的 Swift Playgrounds 呢?我可以用這個 App 來學習 Swift 和 App 開發嗎?」 相信你已經知道 Apple 推出了一個叫做 Swift Playgrounds for iPad 的 App。這個 iPad app 的初版是在 2016 年 9 月時發佈的,目標是希望讓人人都能輕易學習程式語言的基礎,尤其是 Swift 語言。而且,感謝 Apple 推出了 Cat […]

你可以到 SwiftUI 教學:利用 iPad 的 Swift Playgrounds 都可以學習 App 開發! 閱讀完整文章。如果你對其他iOS教程有興趣,歡迎到 AppCoda 繼續瀏覽。

Swift 5.3 新功能預覽 大大提高整體語言的質量和性能

$
0
0

Apple 的宣佈 Apple 於 3 月 25 日宣佈,Swift 5.3 的發佈過程已經開始了,這次的變更十分大,因為新版本將提高整體語言的質量和性能,並使 Swift 支援 Windows 和 Linux 等多個平台。讓我們詳細看看新功能吧! Enum 可用作 Protocol Witness 現在,一個類別要擴展協定,就需要完全符合協定的要求。舉個例子,如果我們在協定中編寫了靜態 (static) 要求: 然後,如果我們嘗試讓一個列舉遵從協定,就會遇到這樣的錯誤:  有了 Swift Evolution 提案 SE-0280,就不會再出現這樣的編譯錯誤了。 多重尾隨閉包 (M […]

你可以到 Swift 5.3 新功能預覽 大大提高整體語言的質量和性能 閱讀完整文章。如果你對其他iOS教程有興趣,歡迎到 AppCoda 繼續瀏覽。

Computer Vision :利用矩形偵測和文字辨認 打造一個掃描信用卡的 App

$
0
0

自 iPhone 問世以來,攝影功能一直是 Apple 專注的核心。幾年下來,他們釋出了許多驚艷的功能,讓大家無法捨離 iPhone。因為 Apple 不斷增加圖像智能功能,讓使用者能夠拍出更好的相片。 具體來說,Apple 在電腦視覺領域大量投資,其 2017 年釋出的 Vision 框架,也會每年推出重大更新。 Apple 推出了臉部偵測 (face detection)、物件追蹤 (object tracking)、捕捉品質 (capture quality)、及圖像相似度 (image similarity) 功能,讓開發者能夠整合複雜的電腦視覺演算法,來建置基於照片的 AI App。 […]

你可以到 Computer Vision :利用矩形偵測和文字辨認 打造一個掃描信用卡的 App 閱讀完整文章。如果你對其他iOS教程有興趣,歡迎到 AppCoda 繼續瀏覽。

使用 UIViewRepresentable 協定 讓你輕鬆建立 SwiftUI TextView

$
0
0

我非常喜歡使用 SwiftUI 框架,但是,與多數的新框架一樣,SwiftUI 也有一個缺點,就是它未能提供所有 UIKit 有的 UI 控件,比如說,你無法在 SwiftUI 找到與文本視圖 (text view) 相對應的控件。幸好,Apple 有一個 UIViewRepresentable 協定,讓你可以輕鬆打包 (wrap) 一個 UIView,並讓 SwiftUI 專案使用。 在本篇文章中,我們會利用 UIViewRepresentable 從 UIKit 打包 UITextView,來創建一個文本視圖。 使用 UIViewRepresentable 要在 SwiftUI 使用 UI […]

你可以到 使用 UIViewRepresentable 協定 讓你輕鬆建立 SwiftUI TextView 閱讀完整文章。如果你對其他iOS教程有興趣,歡迎到 AppCoda 繼續瀏覽。

SwiftUI 小技巧:簡單在列表視圖移除分隔線 (Line Separator)

$
0
0

SwiftUI 的列表視圖 (List View) 其實和 UIKit 的表格視圖 (Table View) 很類似,它們都是讓開發者把項目一列列地呈現,而預設設定上,每一列資料都會用分隔線 (line separator) 分開。在 UIKit 中,我們可以很簡單地改變分隔線的外觀與顏色;然而,SwiftUI 就沒有一個官方方法來移除分隔線。這麼一來,我們需要使用 UIKit API 來調整在 SwiftUI 列表視圖的分隔線。在本篇文章中,我們將會看看如何實作! 在 UIKit 移除分隔線 在 UIKit 中,若要在表格視圖內隱藏或移除分隔線,我們可以把表格視圖的 separatorCol […]

你可以到 SwiftUI 小技巧:簡單在列表視圖移除分隔線 (Line Separator) 閱讀完整文章。如果你對其他iOS教程有興趣,歡迎到 AppCoda 繼續瀏覽。

Xcode 12 和 Swift 5.3 新功能詳解 讓你寫出更強大的程式碼!

$
0
0

WWDC 2020 上個月首次在前所未有的條件下完成,全球所有開發者都有機會坐在前排,了解 Apple 今年即將發佈的所有新功能和改進。與往常一樣,Apple 介紹了許多新東西和大進步,相信我們每個人都非常興奮,希望作很多新嘗試。 這篇文章旨在介紹 Xcode 和 Swift 的新版本。 Xcode 12 的第一個 beta 版本在第一天就提供給開發者,讓每個人都有足夠的時間下載並試用。它帶著很多舊版本中缺少的新功能和工具,而這些都將對整個開發過程有很大幫助。 Xcode 12 也包含了 Swift 5.3 版本的 Bundle。Swift 語言發展得越強大,我們獲得的功能就越多,從而編寫出更 […]

你可以到 Xcode 12 和 Swift 5.3 新功能詳解 讓你寫出更強大的程式碼! 閱讀完整文章。如果你對其他iOS教程有興趣,歡迎到 AppCoda 繼續瀏覽。

用 Swift 建造自己的輕量級 Dependency Injection 與 Inversion Of Control!

$
0
0

你聽過依賴注入嗎?身為 iOS 的開發者,是否對於依賴注入 (Dependency Injection) 與反轉控制 (Inversion Of Control) 的設計模式感到心動呢?接下來就讓我們手把手,不依賴第三方類別庫,打造屬於自己的輕量級 DI 與 IoC,增加程式碼的可讀性與可測試性,也一併提升可維護性與彈性。這篇文章建議大家搭配源碼閱讀。 什麼是依賴注入與反轉控制? 我知道大家都很期待如何在 Swift 中實現這些設計模式,不過別急,讓我們先來了解這些設計模式與使用的好處。 反轉控制 (IoC, Inversion Of Control) 這邊常常聽著就有點繞舌,大家可以稍微記住 […]

你可以到 用 Swift 建造自己的輕量級 Dependency Injection 與 Inversion Of Control! 閱讀完整文章。如果你對其他iOS教程有興趣,歡迎到 AppCoda 繼續瀏覽。


利用 LibraryContentProvider 重用 SwiftUI 視圖 大大加速開發過程!

$
0
0

在 WWDC 2020 中,Apple 為生態系統的整個開發過程帶來了許多新功能和改善,肯定每個開發者都能從中找到覺得興奮的新功能。部分新功能就是關於 Xcode 12 及 SwiftUI 的,我們在先前的文章已經簡單地介紹過 Xcode 12 及 SwiftUI 的新功能。開發者可以利用新的 LibraryContentProvider 功能,創造出可重用的 SwiftUI 視圖與修飾器,並且把它們加入到 Xcode 的函式庫當中。 你可能會問:這個功能有重要到要寫一篇新的教學文章來討論嗎?沒錯,這功能不僅為 SwiftUI 視圖提供存為函式庫元件、或是在開發過程讓我們輕鬆地重用程式碼。更重 […]

你可以到 利用 LibraryContentProvider 重用 SwiftUI 視圖 大大加速開發過程! 閱讀完整文章。如果你對其他iOS教程有興趣,歡迎到 AppCoda 繼續瀏覽。

在 Xcode 12 使用 StoreKit 測試 App 內購 讓你加速開發進度

$
0
0

雖然 WWDC20 結束至今已經過了五個月,我們還在討論今年發佈的新框架、API、以及改善。在這麼多新功能中,有一些會對我們實作 App 內購 (In-App Purchase) 時有重大影響,那就是我們可以在 Xcode 12 中本地測試 StoreKit 的新功能。 現在,我們必須停止原本的開發流程,並到 App Store Connect 才能夠創建必要的 App 內購紀錄,以及最少一個的沙盒 (sandbox) 使用者,以作測試用途。完成我們前一篇教學文章的步驟之後,開發者就可以繼續撰寫 App 內購的相關程式碼。很明顯地,這麻煩而無可避免的步驟其實已經減慢了開發進度,更何況在後續的測 […]

你可以到 在 Xcode 12 使用 StoreKit 測試 App 內購 讓你加速開發進度 閱讀完整文章。如果你對其他iOS教程有興趣,歡迎到 AppCoda 繼續瀏覽。

利用 Swift 在 iOS 構建獨特漂亮的 QR code 視圖

$
0
0

QR Code 是一種認證技術,廣泛應用於行動科技領域中。iOS 內建支援創建帶有 Payload 的漂亮 QR Code 圖像。在本篇教學中,我們將會學習這個技巧。 QR code 的基本組件: Payload,多數是一個網址 QR code 錯誤修正功能 可選公司圖片/Logo 可選顏色 首先,讓我們先構建結構,然後再實作基本和漂亮的 QR Code 視圖。 這就是基本的結構,使用者要按需要傳遞 payload 和其他可選物件。 建立一個基本的 QR Code 使用 ‘CIQRCodeGenerator’ 過濾器建立一個 CIFilter 物件,然後利用 inputMessage […]

你可以到 利用 Swift 在 iOS 構建獨特漂亮的 QR code 視圖 閱讀完整文章。如果你對其他iOS教程有興趣,歡迎到 AppCoda 繼續瀏覽。

策略模式 (Strategy Pattern)簡介 讓程式碼拓展起來更容易

$
0
0

我們在編寫類別時,有時會用上大量看上去很相似的方法,但礙於它們在計算方式上存在關鍵的差異,讓我們無法編寫一個通用函數,而刪減其他的函數。今天,讓我帶大家看看一種設計模式,它讓我們可以創建一個函數,來管理所有函數,如此一來,我們就可以刪除那些幾乎一模一樣的方法 ── 那就是策略模式 (Strategy Pattern)。 什麼是策略模式? 策略模式是屬於物件導向程式設計 (Object-oriented Programming, OOP) 結構,是行為模式 (behavioral pattern) 的一種,也被稱為 Policy Pattern。它背後的邏輯是,程式應該能夠延遲在運行時才選擇演算 […]

你可以到 策略模式 (Strategy Pattern)簡介 讓程式碼拓展起來更容易 閱讀完整文章。如果你對其他iOS教程有興趣,歡迎到 AppCoda 繼續瀏覽。

Viewing all 172 articles
Browse latest View live