Just My Life & My Work

Posts tagged ‘swift’

[SwiftUI] AlertToast Package

透過 Xcode 13 使用 SwiftUI 第三方套件非常簡單,直接把 Github 的網址填入 Xcode 中 Package Dependencies,就能搜尋到並下載回來。🧐

本文套件連結:AlertToast

比起用 Cocoapods 還要方便呢!完全不用輸入任何程式碼~

(繼續閱讀…)

[Swift] 物件的生與死

作為一個不稱職的 Swift 工程師,偶爾還是要來了解一下物件的生與死

我實在是不太想管底層怎麼管理物件的生與死,只要系統幫我自動處理好,我只想要專心在有趣的商業邏輯上。🙃

(繼續閱讀…)

[Swift] try / throw / catch

Swift 在處理例外的時候有很好用的語法,就是 try / throw / catch,可以多加利用,寫出沒有錯誤且崩潰的應用。

  • try 嘗試行為
  • throw 丟出例外
  • catch 抓住例外

我們直接寫個範例,就能知道如何使用~

接著繼續閱讀全文~😌

(繼續閱讀…)

[iOS] Flutter 開發 App 初體驗

沒事千萬不要用最新的技術開發要真的上線的軟體,拿來把玩還可以啦~

這次是高中同學求救,因他公司產品是用 Flutter 來開發 App,想必是想要追求又快又狠又準的新技術,但是沒有考量到一些潛在的問題,其實早一點來找我諮詢,就可以避免掉要找我「救火」的狀況囉~

廣告

首先來了解我使用的開發環境與技術規格:

  • MacOS Catalina 10.15.5
  • Flutter 2.0.1

我急忙在短時間內寫好一個功能齊全的 ShopViewController,接著想辦法整合進對方的 Flutter 專案。

我問目前在博弈業的前同事,有無將 Swift 整合進 Flutter 的經驗,結果他跟我說是寫原生 Swift,真是誤會大了。

(繼續閱讀…)

[iOS] 在Objective C使用Swift的Singleton

隨著Swift發展日益盛行,以Objective C為主開發的我要開始與Swift「交互作用」,這次主題是在Objective C使用Swift的Singleton,這看似很容易達成的用法,卻在我又多了C語言來混用,就變得複雜啊~

[iOS] 在Objective C使用Swift的Singleton.png

(繼續閱讀…)

[iOS] 混編Objective C、Swift、C/C++

在Swift剛釋出沒多久,我就研究過如何在同專案整合Objective C和Swift。文章:

儘管還是傾向以Objective C來開發產品,然而Swift的發展日趨重要,不過我大膽推測,就算Apple再怎麼強推Swift,十年內Objective C領導地位依然屹立不搖!為什麼呢?實際接觸4年Swift後,發現Swift變化多端,若猶豫要學Swift還是Objective C可以參考:要學Objective-C還是Swift?

現在想要混編Objective C、Swift、C/C++,應也不是問題~

[iOS] 混編Objective C、Swift、C:C++.png

(繼續閱讀…)

關於 Swift 4.1

最近又「逼不得已」要更新Xcode 9.3(原9.2),原本沒有很想趕上潮流,不過因為老闆把自己的iPhone升級到11.3,我要幫他灌App測試,Xcode就跳出不支援該版本⋯⋯使得我被迫要升級Xcode!更沒想到的是,要安裝Xcode 9.3,還要先升級Mac OS 10.13(原10.12.6),這過程要花我整個下午的時間啊⋯⋯

本篇議題是關於 Swift 4.1,Xcode 9.3就能以Swift編程,以為只是小更新並不大礙,沒想到我所使用的Libray/Framework出現問題!!!

Swift第4版本提到Charts套件超好用,它要以Swift 4.0來編譯,所以要到某處選擇設定。今日更新到Swift 4.1

關於 Swift 4.1 Xcode2

想說編譯執行會很順利,誰知出現⋯⋯

關於 Swift 4.1 Xcode1

這不符合Swift版本問題很神奇啊~

error: The following binaries use incompatible versions of Swift:
/Users/happyboy/Library/Developer/Xcode/DerivedData/TestDeviceSDK-deuhrepxfcygzyguaogwmklmzddz/Build/Products/Debug-iphoneos/TestDeviceSDK.app/Frameworks/Charts.framework/Charts
/Users/happyboy/Library/Developer/Xcode/DerivedData/TestDeviceSDK-deuhrepxfcygzyguaogwmklmzddz/Build/Products/Debug-iphoneos/TestDeviceSDK.app/Frameworks/Zip.framework/Zip

目前還在找解法ORZ,依然有經驗地翻舊文章下載舊版Xcode,先成功編譯後推Git。

想問熟悉寫Swift的高人,到底有多少時間在改Swift語法和設定呀⋯⋯

參考:Swift和Objective-C混編的注意啦

Swift 第4版本

Swift已經升級到第4版本,我還是沒認真在寫Swift 4,主要是因為它還不太穩定,這幾年必須多花時間去改寫語法到最新版本,於是在有限的開發時間下,我依然對相對穩定的Objective C情有獨鍾XD~

舉一個例子,當我要使用Open Source ChartsXcode會偵測是否相容,否則就無法編譯成功,如圖:

Swift 第4版本.png

好在只要選擇到Swift 4,就能成功編譯!也感謝超好用的圖表開源Charts作者,願意每次Swift升級就改寫語法,造福我們成千上萬的iOS開發者

怎麼在Objective C中使用Swift Open Source?可參考文章:在Objective C專案使用Swift第三方套件

[iOS] 在Objective C專案使用Swift第三方套件

先前有提到在Swift專案使用Objective C第三方套件,現在想要反過來該怎麼做呢?目前我主要還是以Objective C來開發iOS App,然而有些超級好用的套件是用最潮的程式語言Swift打造,為了方便開發起見,還是來學著怎麼「橋接 (Bridging)」吧!

在這裡我是使用Cocoapods來下載Charts這個超過15000人使用開源做範例。

target ‘HappyChartTest’ do
# Uncomment the next line if you’re using Swift or would like to use dynamic       frameworks
use_frameworks!
pod ‘Charts’
# Pods for HappyChartTest
end

(繼續閱讀…)

[iOS][Swift] 在Swift專案使用Objective C類別

該是好好學習Swift 2.0的時候囉~上週Apple才宣布Swift開源化!趁著棘手的專案告一段落,我要利用時間學習iOS新的開發語言,讓公司的戰力可以延續下去。

首先我們會遇到,以Swift為主的專案想使用Objective C的類別,因為我們可能沒啥時間去重刻,於是想要Objective C直接轉生為Swift來使用。

Swift using Objective C class

在此我們建立一個Swift專案名為HappyTest8,接著新增Cocoa Touch Class語言為Objective C,並名為HTMainViewController。

(繼續閱讀…)

標籤雲