在開發 iOS App 時,很多應用都要根據當前 App 內容顏色來設置 iOS 系統狀態欄 的配色,黑色或者白色——尤其是在 iOS 13 系統支持了黑色模式後。
平時,別人會告訴你這麼做:
|
1 |
UIApplication.shared.statusBarStyle = .default |
但這會觸發警告:[蠟筆[……]
在開發 iOS App 時,很多應用都要根據當前 App 內容顏色來設置 iOS 系統狀態欄 的配色,黑色或者白色——尤其是在 iOS 13 系統支持了黑色模式後。
平時,別人會告訴你這麼做:
|
1 |
UIApplication.shared.statusBarStyle = .default |
但這會觸發警告:[蠟筆[……]
不少人在開發中都會遇到 EXC_BAD_ACCESS ,很遺憾,這一次 Xcode 不會給出任何詳細的解決方案。
通常來說,這是由於內存錯誤造成的。簡單來說就是你創建了對象 A,但在後來訪問的時候,內存裡 A 這塊區域已經被系統挪做他用了,比如放了對象 B 在這裡——你的[……]
處理時間和日期是軟件開發中很常見的操作,幾乎所有的編程語言都提供了對應的 API 來方便開發者對時間日期進行處理,Swift 也不例外,比如 DateFormatter ,使用它你可以將任意 日期
通常來講,Swift 裡的 String 是和 的NSString 橋接的,比如我曾寫過 NSString 和 String 究竟 有什麼區別 ?,總之這裡我們主要來討論一下,String[……]
今天學員群裡有人提了這麼一個問題,為什麼把特性的字典類型作為泛型類型約束的時候,就必然報錯?
|
1 |
inheritance from non-protocol, non-class type 'Dictionary<String, Any>' |
顯然,說的很明確了,“你不能從一個非協議、非類的類型繼承”。顯然,字典是個泛型結構體……
那麼解決思路也很明確了,創建一個[……]
做開發者肯定有過這樣的煩惱:版本號提交錯了!
編譯和測試的版本多了,難免提交的時候才發現版本號搞錯了。要不就是後台版本號正確,前台的版本號忘記更改。其實,可以讓前台自動獲取後台的版本號數據,比如這樣:
|
1 2 |
let info = Bundle.main.infoDictionary! version.text = "Version \(info["CFBundleShortVersionString"]!) (build \(info["CFBundleVersion"]!))" |
後台的版本號[……]
一年前,我在 git 上發布了一個用 Swift 實現的棧,一共有兩個版本。因為 Swift 自身並沒有實現這個東西——儘管官方的教程中泛型的部分就是用這個棧舉的例子。
也許是人家覺得這個太簡單了吧
總之,這次我又來玩這個東西了,因為 HMM 的 Viterbi 算法需要做修剪,不然路徑太多無謂[……]
很多時候,我們需要在字符串中執行查找,以判斷過濾指定的內容出來。比如過在落格輸入法當中,就需要用輔碼過濾出需要的候選詞。
一般來說,查找和對比肯定是數字來的最快,不過在詞庫上總不能把所有的詞彙都轉換為數字(雖然理論上可行……)在字符串的搜索上,我們有很多種辦法來實現,這裡我就說一下我自己的思路[……]
如何在 iOS 上寫一款輸入法?這個問題已經被很多人解答過了。你可以輕易通過 Google 找到一篇詳細的教程。但是,在 macOS 上寫一款輸入法就沒那麼簡單了。
好吧,嚴格來講,是指用 Swift 在 macOS 上寫一款輸入法很難。主要的原因是 從來沒有人做過這件事情 。
目前能夠[……]
說起 SQLite,它和你熟知的 MySQL 一樣,都是關係型數據庫管理系統,但與後者不同的地方在於,它完全不需要對應的獨立服務器!
一般說起來,SQLite 都是以文件的形式存在,大多用在應用的內嵌儲存裡。通過在應用代碼裡加載 SQLite 庫,就可以很方便地直接存取 SQL[……]
在寫代碼的過程當中,我們總會遇到需要保證全局只有一個實例的時候,這個時候就要使用單件模式。
單件模式——它確保了一個類只有一個實例,並提供一個全局訪問點。
那麼怎麼實現單件模式呢?我們來看看最經典的 Java 代碼,該怎麼實現這個 單件模式。
我們在網上隨便搜索“java 單件模式”就能找[……]
我們在進行網路開發的時候,難免要從網路伺服器中獲取資料,很多時候還需要給伺服器提交資料,就現在來說,一般我們都會習慣使用 JSON 格式的資料,因為它方便好用,這次我們就一起來看看,如何用 Swift 發送 JSON-RPC 命令並獲取回復。
JSON-RPC是一個無狀態且輕量[……]
今天在練習設計模式的時候忽然發現 Swift 裡是沒有棧的——就是 Stack 類。由於我是照著 JAVA 版的設計模式來學習的,所以我只好自己看著實現一個了。
不過說起來,在蘋果官方手冊的「泛型」一章中還真有個棧的栗子,它是用結構體實現的。這也倒是符合了 Swift 一貫的風格——畢竟, 小號[……]