在開發 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 算法需要做修剪,不然路徑太多無謂[……]