iOS小知識

掘金發表於2018-01-11

如何優雅地使用 KVO

KVO 作為 iOS 中一種強大並且有效的機制,為 iOS 開發者們提供了很多的便利;我們可以使用 KVO 來檢測物件屬性的變化、快速做出響應,這能夠為我們在開發強互動、響應式應用以及實現檢視和模型的雙向繫結時提供大量的幫助。 但是在大多數情況下,除非遇到不用 KVO 無法解決…

可能是最全的iOS端HttpDns整合方案 | 掘金技術徵文

科普片 1、DNS劫持的危害 不知道大家有沒有發現這樣一個現象,在開啟一些網頁的時候會彈出一些與所瀏覽網頁不相關的內容比如這樣奇(se)怪(qing)的東西圖一或者這樣圖二,其實造成這樣的原因就是DNS劫持,在我們正常瀏覽的網頁連結裡面被惡意插入一些奇怪的東西。不止是這些,DN…

iOS 10 來點不一樣的推送 (2) – 語音提示

轉自我的 Blog: Danny`s Dream 接著上篇文章,在一個交流群裡有個小夥伴問,怎麼實現支付寶類似收到錢之後的語音播放效果。 結合著之前對推送的研究,想到了兩種實現方案: 1.在 notification 的 extension 中將收到的內容播放出來。 2.將文字…

『IOS 概念性解說』framework 與. a

ios 開發中經常會依賴 framework 和. a 檔案,這兩種檔案有什麼區別呢?今天就聊聊這兩種檔案格式。 動態庫與靜態庫 在說 framework 和. a 檔案之前,先明確一下什麼是靜態庫,什麼是動態庫。 靜態庫 靜態庫即靜態連結庫。靜態庫在編譯的時候會被直接拷貝一份,複製到目標程式裡…

iOS 10 來點不一樣的推送

簡介 iOS 10 中新增的通知服務擴充套件功能,在推送通知展示到介面之前提供開發者可以在後臺對推送的內容進行修改。通過這個修改主要可以實現以下的幾個需求: 如果推送的內容加密的,可以在客戶端進行解密。 可以下載圖片,音樂,視訊,實現多媒體推送的效果。 可以修改推送的內容,body…

2017年5月iOS招人心得(附面試題)

就在上個月中旬,技術老大讓我招兩個1-2年的iOS開發,把簡歷的篩選和第一輪技術面試的任務交給了我。 從篩選第一份簡歷,準備面試題,到成功招到兩個人一共花了兩個星期多一點,總體來說還是比較順利的。兩位通過者都比較穩重踏實,而且對技術也比較有追求。這也可能和我篩選簡歷比較謹慎有關…

iOS App 穩定性指標及監測

作者介紹:李運鋒,美團點評iOS工程師,5年iOS開發經驗,現在是美團點評點餐團隊的一員。 前言 本文較長(5000字左右),建議閱讀時間: 20min+ 一個iOS App的穩定性,主要決定於整體的系統架構設計,同時也不可忽略程式設計的細節,正所謂“千里之堤,潰於蟻穴”,一旦考慮…

# Xcode 編譯器除錯命令(所有)

bk 之前使用編譯器除錯的時候,每次只是用常規的幾個除錯命令。但是本著折騰的原則,今天把 所有的除錯命令 及功能都羅列出來。 語歌 部落格 速覽表在最後: 下面舉例常見比較重要的命令: 再下面有更詳細的示範 如果想要了解更多編譯器除錯的命令: 傳送門 接下來看一下常用的除錯命令用法…

有一種 Block 叫 Callback,有一種 Callback 叫 CompletionHandler

【引言】iOS10 推送部分的 API,大量使用了 CompletionHandler 這種命名方式,那麼本文我們將對比下這種 Block 的特殊性,以便更好的理解和在自己的專案中實踐 CompletionHandler 樣式的 Blcok。

CoreAnimation解析及中高階動畫實現

CoreAnimation是一套影像渲染和動畫基礎框架,其在iOS和OSX平臺用於顯示物件和實現動畫效果。使用CoreAnimation框架,動畫的大部分幀渲染都是蘋果為我們做好的。我們只需要配置幾個動畫引數(如開始和結束的點)並呼叫動畫開始的方法。接下來就把剩餘的工作交給Co…

[[貝聊科技] iOS 終極橫豎屏切換解決方案](https://juejin.im/entry/59747…

大家的專案都是隻支援豎屏的吧?大多數朋友(這其中當然也包括博主),都沒有做過橫屏開發,這次專案剛好有這個需求,因此把橫豎屏相關的心得寫成一遍文章供諸位參考。 01.綜述 大多數公司的專案都只支援豎屏,只有一兩個介面需要同時支援橫屏,就像視訊 APP 一樣,只有視訊播放的時候需要…

玩轉 iOS 開發:iOS 10 新特性《UserNotifications》

文章分享至我的個人技術部落格: https://cainrun.github.io/149… UserNotifications Notification 在 iOS 以來發展以來都是一個非常重要的功能之一, 各類 App 都需要通過通知來推送訊息, 不然怎麼告…

iOS – 視訊採集詳解

當新增 input 和 output 到 session 中時,session 會自動建立起一個連線(AVCaptureConnection)。我們可以使用這個 connection 來設定從 input 或者 從 output 得到的資料的有效性,也可以用來監控在音訊通道中功…

runtime執行時 isa指標 SEL方法選擇器 IMP函式指標 Method方法 runtime訊息機制 runtime的使用

本文主要跟大家分享iOS攻城獅比較感興趣的知識點runtime。示例程式碼在這裡:WHRuntimeDemo 讀完並理解這篇文章之後,你將掌握下面這幾個問題的答案。 runtime:Objective-C是動態語言,它將很多靜態語言在編譯和連結時做的事放到了執行時,這個執行時系統…

你不知道的的 iOS 多執行緒

首先我不是故意要做標題黨的,也不是我要炒冷飯,我只是想換個姿勢看多執行緒,本文大部分內容在分析如何造死鎖,奈何功力尚淺,然而再淺,也需要走出第一步。開啟你的 Xcode 來驗證這些死鎖吧。 NSLock是基於 POSIX threads 實現的,而 POSIX threads 中…

我們用2個月準備了《iOS 成長之路》,希望你不會嫌棄

我們想要做一點努力 iOS 的入門資料在網際網路上可以用氾濫來形容。如果你有計算機基礎,想快速學習 iOS,做幾個介面很輕易就能做到。然而移動創業熱潮退去後,對 iOS 開發者的能力要求也越來越高。當一個已經入門的開發者,想要成為一個更好的 iOS 開發者的時候,就會發現網際網路的…

丁香園iOS電話面試問題總結

今天下午去面試去面試一家初創公司,然後又接到到了丁香園的電話面試,這篇blog記錄一下面試的一些問題,有的回答的還行,有點感覺不太好,主要是有些英文單詞說的太low了估計被鄙視了吧,下面給大家總結一下面試的一些問題,有些回答是摘要一些大神blog的出處,都有給原連結,希望見諒~…

《NSRunLoop》

  1. 簡介 RunLoop從字面上解析,就是一直迴圈的跑,實際上它也是在一直在跑。通常來說,一個執行緒執行完一個任務後,執行緒就會退出銷燬。但是我們可以通過RunLoop操作,使該執行緒常駐,在有任務的時候喚醒執行緒執行相應的任務,在沒有任務執行的時候儲存睡眠狀態,時刻準備著任務的呼喚。…

你真的會用 CocoaPods 嗎?

CocoaPods 可以說是 iOS 開發應用最廣泛的包管理工具,本篇文章主要介紹 CocoaPods 的第三方庫是怎樣從網路整合到我們本地的專案當中,也是製作私有庫、開源庫和 iOS 專案元件化的一個知識鋪墊。 其中 git 欄位表示該框架的託管地址,也就是上面時序圖中的 遠…

pan手勢監聽對view的上下左右滑動,利用關聯物件在block中觸發view的點選事件(附手勢大全)

首先建立一個UIView的分類,下面是標頭檔案中的程式碼。 在block中觸發view的點選事件,主要運用的是關聯物件技巧,比較實用。