原创 iOS之KVC原理&自定義KVC

前言 開發過程中,很多人都會注意到KVO,以及自定義KVO,實際上KVC的作用也是十分強大的,不僅僅是簡單的字典轉模型,有關使用技巧可以看上篇文章,這篇文章要根據上篇的總結來進行自定義KVC操作; 相關代碼:KVCCode(上篇代碼也在這

原创 iOS之你不知道的KVC技巧&KVC原理

前言 相關代碼: 源碼objc779      KVCCode(博客中的代碼都在這裏) iOS開發中很多人都知道KVC ,聊到KVC大家也都知道,就是字典轉模型,但是再具體聊的話,就說不太清楚了,這篇文章,準備把KVC再來了解一下;

原创 iOS卡頓原理及優化方案

前言 很多iOS 開發,都會面臨到解決開發過程中的卡頓問題,從而也衍生出來很多的方法去解決卡頓問題,這篇文章來描述下iOS卡頓產生的原因,以及一部分解決辦法; iOS卡頓原理 1.像素是如何顯示到屏幕上 從最初的電子槍顯示器說起,電子槍逐

原创 面試題之架構設計六大基本原則

前言 最近面試,面試被面試官問到,開發中使用到那些架構模式:回答,MVC ,MVVM ,MVP 架構方式, 在問MVVM 中遵循了那些架構原則,直接懵逼了,使用到了架構方式,但是並不清楚架構原則都有什麼,接着趕緊查詢下架構原則;   架構

原创 iOS算法提升之四(買賣股票的最佳時機)

題目 買賣股票的最佳時機 題目解析: 給定一個數組,它的第 i 個元素是一直給定股票 第 i 天的加個。 如果只允許完成一逼交易(即 買入和賣出一直股票一次),設計一個算法來計算你所能獲取的最大利潤 注意: 你不能在買入股票之前,賣出股票

原创 面試題之--Charles抓包原理

前言 面試官:面試官問我iOS開發過程中使用了那些抓包工具? 回覆:Charles,Wireshark(可以抓取長連接包)等工具 面試官:然後緊接着面試官問我,有沒有抓過https的包? 回覆:使用Charles 工具抓過, 面試官:那你

原创 iOS 探索KVO四(自定義KVO進階)

前言 前幾篇KVO的文章介紹了一些KVO的使用方式和KVO的實現原理和自定義KVO,但是有幾個問題沒有解決,例如:如果監聽多個屬性,上篇文章中的自定義KVO就不能解決了,自動銷燬等,本篇文章需要在上篇文章的基礎上進行閱讀; KVO監聽多屬

原创 iOS算法提升三(給定一個字符串,請找出不含有重複字符的最長子串長度)

題目: 要求:給定一個字符串,請找出不含有重複字符的最長子串長度 輸入:‘abcabcbb’ 輸出:3 解釋:因爲無重複字符的最長子串是abc,所以長度爲3 輸入:‘bbbbbbb’ 輸出:“1” 輸入:”pwwkew“ 輸出:3 解釋:

原创 iOS開發算法提升二(數組中兩數之和爲固定值返回下標)

題目:          給定一個整數數組,nums和一個目標值target ,請在數組中找出何爲目標值的兩個整數,並返回下標          要求:          不能出國內服利用這個數組中的同一元素,例如:8+8 = 16; 

原创 iOS 探索KVO三(自定義KVO)

前言 前兩篇KVO的文章介紹了一些KVO的使用方式和KVO的實現原理,這篇文章我們來自定義KVO; 自定義KVO 自定義KVO首先要有個大概思路,根據KVO原理來進行操作: 自定義KVO源碼請移步github點擊下載 1.添加通知即:

原创 iOS 探索KVO二(原理探索)

前言 上篇文章介紹了一些KVO的使用方式,包括監聽多個字段改變的值,和監聽可變數組等;這篇文章來探索一下KVO的實現原理; 原理探究        本篇文章源碼,歡迎大家一起查看下載 首先還是看一下官網的介紹: Key-Value Obs

原创 iOS開發算法提升一(最長上升子序列)

前言 作爲一個iOS開發人員,開發工作經驗5年,對數據結構與算法一直不夠重視,最近對項目進行優化,發現算法還是比較重要的,後續每天都發表一篇算法題,以此提高自己的開發思維,每天貼上的代碼,都會在github上面有提交,有需要的可以自行下載

原创 iOS 探索KVO一(幾種簡單的KVO使用方式)

前言 KVO全稱爲Key Value Observing,鍵值監聽機制,由NSKeyValueObserving協議提供支持,NSObject類繼承了該協議,所以NSObject的子類都可使用該方法。 文章中的Demo KVO監聽寫法 例

原创 iOS源碼調試

前言 最近有一些小夥伴私信我,說看之前的iOS底層系列文章中,下載的objc4_752源碼 不能使用,這裏需要給大家解釋一波 修改方法 1.在使用objc4_752源碼 源碼時,注意簽名改成自己的代碼簽名 2.選擇版本需要在target

原创 iOS 面試題 sel詳解weak本質

1.Runtime是什麼? runtime 是由C 和C++ 彙編 實現的⼀套API,爲OC語⾔加⼊了⾯向對象,運⾏時的功能 2、⽅法的本質,sel是什麼?IMP是什麼?兩者之間的關係⼜是什麼? ⽅法的本質:發送消息,消息會有以下⼏個流程