Open in app

Sign In

Write

Sign In

Tom Tung
Tom Tung

11 Followers

Home

About

Mar 21

Swift — Concurrency(1)

#前言 Swift 支持以結構化的方式編寫異步與並行代碼。 異步代碼(Asynchronous):可以實現暫停和恢復效果,儘管一次只執行一段程序,那什麼時候會用到呢? 例如:更新UI,同時繼續處理長期運行的操作,比如通過網絡獲取數據或解析文件 並行代碼(Parallel):意味著多段代碼同時運行,例如:四核處理器的計算機可以同時運行四段代碼,每個核執行一項任務。 使用並行和異步代碼的程序一次執行多個操作;它暫停正在等待外部系統的操作,並使以內存安全的方式編寫此代碼更容易。 並行或異步代碼的額外調度靈活性也伴隨著複雜性增加的成本,甚至可能使代碼更難調試。但是, Swift 可以幫助在編譯時發現問題 …

Swift

10 min read

Swift — Concurrency(1)
Swift — Concurrency(1)
Swift

10 min read


Aug 30, 2021

Objective-C 與 Swift 混編教學

#前言 最近開始工作,公司專案本身是以 objective-C 開發,想慢慢轉型成 Swift,因此需要在 objective-C 專案中加入 Swift,而在嘗試的過程中也發生了一些小問題,今天就來看下混編可能會遇到的種種事吧。 #介紹 混編無非就是兩種情況: 在 objective-C 中調用 Swift 在 Swift 中調用 objective-C 在這過 …

Swift

8 min read

Objective-C 與 Swift 混編教學
Objective-C 與 Swift 混編教學
Swift

8 min read


Jun 19, 2021

Swift — Singleton Pattern(單例模式)筆記

單例模式是什麼? 精神在於整個應用程式只有一個實體存在,意味著此實體被共享著。 而他的生命週期從應用程式一啟動就開始了,直到應用程式被銷毀。 基本要求: 只能有一個實例。 必須自己創建自己的唯一實例。 必須給所有其他對象提供這一實例。 iOS 中的單例模式 UIApplication.shard :每個應用程序有且只有一個UIApplication實例,由UIApplicationMain函數在應用程序啟動時創建為單例對象。 URLSession.shared:管理網絡連接。 NotificationCenter.defualt:管理 iOS 中的通知。 UserDefaults.standard:存儲輕量級的本地數據。 優點: 提供對唯一實例的受控訪問: 防止其他對象對自己實例化,確保所有對象都訪問同一個實例。 節約系統資源:由於只存在一個對象,因此可以節約系統資源。 伸縮性:自己控制實例化的進程,因此易於修改。

Swift

4 min read

Swift — Singleton Pattern(單例模式)筆記
Swift — Singleton Pattern(單例模式)筆記
Swift

4 min read


Jun 17, 2021

Swift — Keychain

前言: 在使用 app 的過程,會有許多敏感資料是不希望其他人能夠取得的,像是 password, authentication tokens, 或者其他重要的資料。 此時若把這些敏感資料存在 userDefaults 裡,會有暴露的風險。UserDefaults 只是將資料儲存為一個屬性列表檔案,存放於 App 的 Preferences 資料夾裡。 正確的作法: 使用 UserDefaults 來儲存小量資料,像是使用者在 App 裡的偏好設定、或是一些完全不敏感的東西。要儲存 App 的敏感資料,我們應該使用 Apple 提供的 Security 服務(Keychain) …

Swift

7 min read

Swift — Keychain
Swift — Keychain
Swift

7 min read


Jun 1, 2021

Swift — GCD 多執行緒

前言: GCD 是 iOS 特殊的多執行緒管理機制,他將程式碼封裝到一個 block 區段,然後將 block 放到指定的佇列(queue),接下來系統會將 block 中的 code 依照佇列的特性及放進佇列的方式來決定是否要建立執行緒並開始執行。 簡單來說就是讓程式可以同時執行很多事,縮減執行任務所需時間,提供較佳的使用體驗,在運行時不會有停留在某個 …

Swift

6 min read

Swift — GCD 多執行緒
Swift — GCD 多執行緒
Swift

6 min read


May 21, 2021

@objc 與 dynamic 筆記

@objc 意思是想讓 Swift code(class, method, property, etc) 在 Objective-C 中可見。 dynamic 意味著要使用 Objective-C動態調度 在 Swift 3 或 更早的版本,dynamic也含有@objc。在 Swift 4 中,dynamic 僅意味著 dynamic dispatch(動態調度) 且對 Objective-C 的可見性(@objc)無關。 但是,沒有像是 Swift 動態調度之類的東西。只有Objective-C runtime’s dynamic dispatch(動態調度),這意味著不能只使用 dynamic,而必須編寫@objc dynamic。(才能被 OC 看見) 三種裝飾 func 的方法

IOS

2 min read

@objc 與 dynamic 筆記
@objc 與 dynamic 筆記
IOS

2 min read


May 18, 2021

Swift — 製作標籤頁(Tabs) by UICollectionView + UIPageViewController

前言: 前陣子完成 mentor 指派的作業,裡頭需要處理 PageViewController 與 CollectionView 的聯動,當時卡了好一陣子QQ,想說寫個文章給同樣遇到困境的你/妳。那話不多說,先來看個成品:

IOS

7 min read

Swift — 製作標籤頁(Tabs) by UICollectionView + UIPageViewController
Swift — 製作標籤頁(Tabs) by UICollectionView + UIPageViewController
IOS

7 min read


Apr 27, 2021

Swift套件 - SnapKit 使用說明

前言: 在編寫project的過程中,autoLayout 是不可獲缺的技能, 然後 xcode 原生的 autoLayout 在編寫的過程太過冗長,可讀性明顯也有些不足。 而今天介紹的 SnapKit 解決了原生 constraints 的缺點,使用上也非常簡單、容易上手,在閱讀上也更為簡短方便,大大增加了 code 的可讀性。 接下來就開始介紹 Snap …

IOS

7 min read

Swift套件 - SnapKit 使用說明
Swift套件 - SnapKit 使用說明
IOS

7 min read

Tom Tung

Tom Tung

11 Followers

Hi, I’m Tom. I work as an iOS developer.

Following
  • Anupam Chugh

    Anupam Chugh

  • SimonLiu

    SimonLiu

  • Jayden Lin

    Jayden Lin

  • 朱痕染跡璧有瑕

    朱痕染跡璧有瑕

  • 金天

    金天

See all (50)

Help

Status

Writers

Blog

Careers

Privacy

Terms

About

Text to speech

Teams