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

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

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

那麼解決思路也很明確了,創建一個類來裝飾個字典或許是個不錯的選擇但太麻煩,那麼就從協議上下手。

有條件的協議遵循

我們可以給字典[……]

點擊跳轉以繼續閱讀

NSTextField 文本模糊的解決辦法 canDrawSubviewsIntoLayer

在開發落格輸入法 macOS 的過程當中,我一直被一個奇怪的問題所困擾——文本模糊。

次像素

無論我怎樣調試,落格輸入法的候選文字都無法達到原生文字的那樣清晰和銳利。在請教了大神之後,得到的活久見經驗是——上游次像素渲染 錯誤。

在很多平台都有類似問題,macOS 底層渲染也有這樣的錯誤,一旦你的佈局出現了小數點或者不是整數,就會導致文本渲染模糊。

那[……]

點擊跳轉以繼續閱讀

到底“雙拼”是個啥?

本文首發於數碼荔枝,原名 《到底「雙拼」是個啥?聽雙拼輸入法開發者給你說》

就在上個週末,我向一個新朋友推薦雙拼輸入法,他是那種對這方面從來沒有關心過的人——就連“全拼”這個概念,也是在我向他介紹了雙拼之後才知道的——“原來我一直以來用的叫做全拼(拼音)輸入法”。

正是這件事情,促使我動手撰寫這篇文章。作為一款雙拼輸入法的開發者,說實在的,當時我也很“捉雞”,我們常說雙拼效率高、雙[……]

點擊跳轉以繼續閱讀

上架一款訂閱付費的 app,除了代碼你還需要做什麼?

終於,落格輸入法 X 成功地上架了。從開發到上架,發生了很多事情。

現在,我就來說說,除了代碼,上架一款訂閱收費的 app,你都需要做些什麼。

使用協議

一般來說,蘋果為你提供了統一的軟件使用協議,就在你對應app 的 “app infomation”頁面下,右側有個 License Agreement。

如果你要提供訂閱內購,就需要應用你自己的使用協議才可以,你需要一[……]

點擊跳轉以繼續閱讀

當我們在談隱私的時候,到底在說什麼?

隱私是個很奇妙的東西,當你一個人的時候,它就不存在。

TenSteps

如今的互聯網普遍對隱私焦慮,常常有人喊“要保護隱私”……但緊跟著就有人會說“我沒什麼好隱藏的”。面對這樣的喪氣的回复,保護隱私的倡導者們除了內心深深的無力感,還有就是迷茫了。

隱私這個東西,實際上在互聯網之前就已經存在,比如法律規定不允許私自拆讀他人信件——這就是對你個人隱私的保護。

在互聯網之前,隱私傳播需要[……]

點擊跳轉以繼續閱讀

我憑本事下的軟件,為什麼要我付費?

本文首發於 小眾軟件,現在我在自己博客記錄一下。

前幾天落格輸入法 X 在和各個媒體做合作發碼搞活動的時候,我們意外地和一個分享 Apple ID 的公眾號平台進行了合作,搞了一波抽獎送碼的活動。

“前腳說自己被盜版困擾不得不改變商業模型,後腳就跑去和發盜版軟件的微信公眾號合作推廣,簡直就是在給自己打臉。”

最終在一天后我才發現這個事實,然後我們第一時間撤了稿,取消了這次活動[……]

點擊跳轉以繼續閱讀

落格輸入法:沒人買我的 APP 了,但我不想 GG

文章原標題《如果這個輸入法再無法讓我維持生計,我就回家賣紅薯》

人家說一個 App 想要賣的好,總得配一個動人的故事,去年一篇專訪如果下個月沒人買我的 App,我就得 GG扎了很多人的心——一不小心說了大實話,不少人難以接受這個現實。——人是動到了,就是角度似乎有點問題hhh

我也不想接受這個現實——但現實就是如此,雙拼用戶市場比我預計的還要小那麼一點點,僅僅兩年,落格輸入法的下載量就已經[……]

點擊跳轉以繼續閱讀