Swift 中如何使用字典類型作為範型約束

今天學員群裡有人提了這麼一個問題,為什麼把特性的字典類型作為範型類型約束的時候,就必然報錯?

顯然,說的很明確了,“你不能從一個非協議、非類的類型繼承”。顯然,字典是個範型結構體……

那麼解決思路也很明確了,創建一個[……]

點擊跳轉以繼續閱讀

Xcode 自動版本號

做開發者肯定有過這樣的煩惱:版本號提交錯了!

編譯和測試的版本多了,難免提交的時候才發現版本號搞錯了。要不就是後台版本號正確,前台的版本號忘記更改。其實,可以讓前台自動獲取後台的版本號數據,比如這樣:

後台的版本號[……]

點擊跳轉以繼續閱讀

一個自動排序的 Swift 棧

一年前,我在 git 上發布了一個用 Swift 實現的棧,一共有兩個版本。因為 Swift 自身並沒有實現這個東西——儘管官方的教程中泛型的部分就是用這個棧舉的例子。

也許是人家覺得這個太簡單了吧

總之,這次我又來玩這個東西了,因為 HMM 的 Viterbi 算法需要做修剪,不然路徑太多無謂[……]

點擊跳轉以繼續閱讀

Swift 中判斷字符串是否有 Emoji 表情

更新:網絡上流傳的 emoji 代碼點不太完整,我按照維基百科的資料重新整理了一下,文中的 Swift 版本代碼已更新。

很多時候我們需要判斷一個字符、或者說是一句話裡是不是包含了emoji,使用 Swift 語言開發 app 也不例外,比如可以使用正則表達式——但很遺憾,似乎不同的語[……]

點擊跳轉以繼續閱讀

在字符串中 快速查找

很多時候,我們需要在字符串中執行查找,以判斷過濾指定的內容出來。比如過在落格輸入法當中,就需要用輔碼過濾出需要的候選詞。

一般來說,查找和對比肯定是數字來的最快,不過在詞庫上總不能把所有的詞彙都轉換為數字(雖然理論上可行……)在字符串的搜索上,我們有很多種辦法來實現,這裡我就說一下我自己的思路[……]

點擊跳轉以繼續閱讀

swift 中內存狂飆的問題

在使用 Swift 語言進行開發的時候,很多朋友會莫名奇妙地遇到內存爆滿的問題,明明有 ,明明釋放了內存,卻還是讓程序的內存佔用隨著循環而一路飆升。

這裡其實並不是出現了內存洩露,這其實是 的一個機制:在每一個主 Runloop 結束的時候進行清理。也就是說,它有一套必要的緩存[……]

點擊跳轉以繼續閱讀