Swift

蘋果新出的用於代替OC的高級編程語言!

ios 為視障用戶支持 VoiceOver

其實很少用戶知道,ios系統其實有一套完整的輕鬆訪問機制,很多盲人或者說視障用戶都喜歡使用蘋果手機

所以說,作為一名開發者,我覺得不論是從產品銷售面還是作為責任,都應該做好完善的輕鬆訪問支持。

不過好在,得益於蘋果嚴格的開發規範,所以一般只要你的app已經通過審核能夠上架,那麼基本[……]

點擊跳轉以繼續閱讀

iOS 平台 SQLite 性能優化

開始

在 ios 平台,數據永久化的存儲方式就那麼幾種,比如說coredata,比如說realm,還有nosql的幾種方案,但是很遺憾,nosql的幾種方案支持的功能都還是太少,這樣就讓對它們的選擇顯得十分雞肋——畢竟,如果是簡單的應用的話,那就還不如其他方案來的方便快捷——雖然nosql是趨勢[……]

點擊跳轉以繼續閱讀

swift 中內存狂飆的問題

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

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

點擊跳轉以繼續閱讀

Swift 3 裡的 GCD

Xcode中 8 正式版已經發佈,我要在第一時間遷移我的專案到 Swift 3 —— 畢竟這是趨勢。

在遷移的過程當中我遇到了很多問題——比如 Xcode 提供的自動遷移工具根本沒有用,在我等待了兩個多小時之後,我放棄了,選擇手動遷移——畢竟,Xcode 的自動校正也是很好用的。

然而——[……]

點擊跳轉以繼續閱讀

Swift UIButton 圓角 + 陰影

很多時候,我們都希望按鈕更符合 iOS 的設計風格,這樣會讓應用的界面看起來不那麼跳,就算設計的不好看,也不會顯的與系統格格不入。

“我不是設計師,我不知道怎麼設計好看——但盡可能貼近系統風格不是錯誤的選擇。 “ - 通過路由器

那麼對於 UI​​Button 來說,圓角+陰影應該是常態。[……]

點擊跳轉以繼續閱讀

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

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

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

點擊跳轉以繼續閱讀

Swift 中的正則表達式

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

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

點擊跳轉以繼續閱讀

Swift 中切分數組

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

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

點擊跳轉以繼續閱讀

“plugin invalidated” ios 自定義鍵盤

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

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

點擊跳轉以繼續閱讀

Xcode 裡各種 Sent Event 的含義

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

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

點擊跳轉以繼續閱讀

Swift 裡的 單件模式

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

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

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

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

點擊跳轉以繼續閱讀

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

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

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

比如PASC[……]

點擊跳轉以繼續閱讀

Swift 裡的 Stack 實現

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

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

點擊跳轉以繼續閱讀

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

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

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

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

點擊跳轉以繼續閱讀