編程開發

iOS 自定義鍵盤 左右劃動移動光標 實現

我們都直到,第三方輸入法比如搜狗輸入法有個經典的手勢操作——在鍵盤上左右劃動即可移動光標。而這個功能我自己也十分的常用,所以,我想要自己來實現它。

首先我想到的就是 UISwipeGestureRecognizer ,不過結果可想而知,劃動一次只能移動一格光標,這可不是我想要[……]

點擊跳轉以繼續閱讀

Swift 中的正則表達式

在一開始,Swift 裡並沒有提供正則表達式的支持,所以我們只能自己來封裝,比如說寫一個結構體,像這樣:

其實現在 Swift 已經有了對正則表達式的支持,我們只需要這樣:
[crayon-6909346d6844a300247[……]

點擊跳轉以繼續閱讀

Swift 中切分數組

大多數情況下,如果我們想要獲取數組中某一段的內容(比如說從前到中間,或者數組最後的某些值),這時候就需要遍歷數組來給新的數組賦值:

這樣數組短了還好說無所謂,但如果數組比較大而我們需要的值又比較多,那遍歷起來顯然就很浪費時間。[……]

點擊跳轉以繼續閱讀

讓 pip 走代理

使用 python 的時候,經常需要下載一些第三方的框架,好在 python 也有類似 apt 的包管理工具,果仁。

不過,pip 雖然能夠管理包,卻沒有切換鏡像源的功能,而我們下載的包,大多數都在國外大型的代碼託管服務器上,這就導致了往往幾百KB的包要下載一個小時。

 [……]

點擊跳轉以繼續閱讀

“plugin invalidated” ios 自定義鍵盤

國內似乎沒有人願意來為 iOS 系統寫一個輸入法,除了幾個寡頭大公司在做以外就沒有別的了。走近了中國特有的蘋果生態平台看看,發現其實裡邊都是空殼子,有意義的應用真的是少的可憐。

落格博客最近正在致力於給 iOS 平台寫第一款能真正支持碼表的雙拼輸入法,第一個兼容的雙拼方案自然是開放的“小鶴雙拼”,[……]

點擊跳轉以繼續閱讀

Xcode 裡各種 Sent Event 的含義

在 Xcode 中,我們給 iOS 平台開發 App,免不了要添加一個按鈕綁定一個事件,這時候就有說法了,你會發現一個按鈕的觸摸事件早已經不是以前的一個“Touch Up Inside”那麼簡單了。

參照題圖,目前至少有這麼多中有的沒的事件可以供你選擇,在功能更多的同時,新手可能就更加懵逼了?[……]

點擊跳轉以繼續閱讀

Swift 裡的 單件模式

在寫代碼的過程當中,我們總會遇到需要保證全局只有一個實例的時候,這個時候就要使用單件模式。

單件模式——它確保了一個類只有一個實例,並提供一個全局訪問點。

那麼怎麼實現單件模式呢?我們來看看最經典的 Java 代碼,該怎麼實現這個 單件模式。

我們在網上隨便搜索“java 單件模式”就能找[……]

點擊跳轉以繼續閱讀

用 python 寫一個功能變數名稱白名單爬蟲

前段時間我寫過一篇文章,說是時候使用白名單來翻牆了,不過那個白名單已經過期好久,用起來不是那麼順暢了,後來我就誇下海口說:我要自己實現一個爬蟲,來爬取中國的網站域名,好更新白名單。

好吧,總之這個爬蟲是寫好了然後上線爬取了一萬多的,不過最後我找到了前人做的更好的方案,於是這個爬蟲項目還是廢棄了[……]

點擊跳轉以繼續閱讀

編程語言的強類型、弱類型

大多數情況下,人們用編程語言是否會隱式地轉換數據類型來判斷一門語言是否為弱類型語言,比如 C。

而實際上,對於除了比較經典的語言外,大部分人對於其他常見語言的強、弱類型是分不清楚的——或者說,是不一致的。因此總會有人來爭論它。如果我們以開篇的概念來作為基礎,那麼矛盾就會顯現:

比如PASC[……]

點擊跳轉以繼續閱讀

Swift 裡的 Stack 實現

今天在練習設計模式的時候忽然發現 Swift 裡是沒有棧的——就是 Stack 類。由於我是照著 JAVA 版的設計模式來學習的,所以我只好自己看著實現一個了。

不過說起來,在蘋果官方手冊的「泛型」一章中還真有個棧的栗子,它是用結構體實現的。這也倒是符合了 Swift 一貫的風格——畢竟, 小號[……]

點擊跳轉以繼續閱讀

一道 華為 面試 的 編程算法 題

今天朋友發來一道很特別的題目:

題目:有兩個數組a,b,大小都為n,數組元素的值任意,無序;
要求:通過交換a,b中的元素,使數組a元素的和與數組b元素的和之間的差最小。

我乍一看這個題感覺眼熟……和國內各種C語言考試基本上差不多,不過仔細一看似乎還有點難度,不像那種一看就有頭緒的問題。好吧,[……]

點擊跳轉以繼續閱讀