原创 公司分享系列之樹

一丶樹的相關概念 1-1丶樹的定義 樹是n(n>=0)個結點的有限集。n=0時稱爲空樹。在任意一顆非空樹中: * 1.有且僅有一個特定的結點稱爲跟結點。 * 2)當n>1時,其餘結點可以分m(m>0)個互不相交的有限集T1,T2,,

原创 iOS開發之利用鏈式編程和貝瑟爾曲線來畫圖

關於什麼是鏈式編程思想以及鏈式編程的好處,網上相關資料很多,這裏就不贅述了。著名的iOS自動佈局庫Masonry,就是利用鏈式編程,使用起來簡潔,可讀性好。仿照Masonry,我寫了一個利用鏈式編程和貝瑟爾曲線實現繪圖的分類,使用如下:

原创 ios開發之自定義轉場動畫

這幾天突然對鬥魚AppiOS版轉場動畫的特效比較感興趣,查詢了好多關於自定義轉場動畫的資料終於將鬥魚App的轉場效果模仿了出來,並且支持全局側滑pop手勢,同時導航欄也可以隨手勢滑動。不過還有幾個bug,比如如果是rootViewCont

原创 iOS開發--封裝的幾個小動畫

1 一個簡單的下拉加載動畫,可以自定義動畫的顏色,線寬等等。 具體實現就不寫了,直接上Demo地址:Github 效果圖: 2 一個簡單的下載進度條,同樣可以自定義動畫的顏色,線寬等等。 Demo地址:Github 效果圖:

原创 runtime-分類爲什麼不生成setter和getter

轉載一篇不錯的文章。。。 前言 前幾天有人問我一個問題:爲什麼分類不能自動創建get set方法。老實說,筆者從來沒有去思考過這個問題。於是這次通過代碼實踐跟runtime源碼來探究這個問題。 準備工作 爲了能減少輸出類數據的代碼工作,筆

原创 組件化開發之利用SVN搭建私有SpecRepo

隨着公司業務發展,app數量增加,粘貼複製重複造輪子的開發方式已經不能滿足多個app快速迭代的需求了,於是就組件化開發就應運而生了,關於什麼是組件化開發以及組件化開發的好處,這裏不再贅述,需要了解的同學移步這裏傳送門。本文只講述組件化開發

原创 公司分享系列之赫夫曼樹

一丶樹、森林、二叉樹的轉換 1-1丶樹轉換爲二叉樹 1-2丶森林轉換爲二叉樹 1-3丶二叉樹轉換爲樹 1-3丶二叉樹轉換爲森林 二丶赫夫曼樹 赫夫曼樹:給定n個權值作爲n個葉子結點,構造一棵二叉樹,若帶權路徑長度達到最小,

原创 公司分享系列之棧和隊列

棧 一丶棧的定義 棧是限定僅在表尾進行插入和刪除操作的線性表。其中允許插入和刪除的一端稱爲棧頂(top),另一端稱爲棧底(bottom),不含任何元素的棧稱爲空棧。 棧又稱先進後出的線性表: 1-1丶鏈式存儲結構的棧 鏈棧的入棧操作:

原创 公司分享系列之初識數據結構

一丶數據結構基本概念 數據結構:就是數據之間相互存在的一種或多種特定的關係的元素的集合 1-1丶按照邏輯結構上分,數據對象中數據元素之間的相互關係可以分爲以下四種關係: 1.圖形結構 2.樹形結構 3.線性結構 4.集合結構

原创 iOS開發-使用AFN實現GET/POST請求,以及文件下載/文件(圖片)上傳

AFNetworking AFNetworking這個牛逼的框架相信大家都已經很瞭解了,這裏就不班門弄斧了,這裏主要是給新入門的同學介紹一下AFN的簡單介紹,版本歷史,框架結構和基本使用。 AFNetworking的簡單介紹以及版本歷史

原创 iOS開發-使用NSURLSession實現文件斷點下載,文件離線續傳以及圖片上傳

NSURLSession NSURLSession是iOS9.0後蘋果推出的網絡請求框架,用來代替NSURLConnecttion。使用方法和NSURLConnecttion類似。 NSURLSession使用方法 NSURLSessio

原创 iOS開發-模仿網易新聞首頁聯合滾動動畫

好久沒寫博客了,最近在研究AFN和SDWebImage的源碼,順手寫了個模仿網易新聞首頁聯合滾動的小Demo,帶有精美的文字顏色漸變和縮放動畫。 效果圖: Demo地址:GitHub 個人博客:相關博客 希望喜歡的小夥伴幫忙點星,謝謝

原创 iOS開發-帶你深入瞭解Runloop

1 什麼是Runloop 從字面意思看,Runloop的意思就是 運行循環,跑圈 Runloop基本作用: 1.保持程序的持續運行 2.處理App中的各種事件(比如觸摸事件、定時器事件、Selector事件) 3.節省CPU資源,提高

原创 iOS開發-數據安全之加密

在黑客日益猖獗的今天,作爲程序員,大家多多少少都要有一些數據安全方面的意識。尤其是發起網絡請求時,請求的URL一般都會記錄在公司服務器的訪問日誌中,服務器的訪問日誌就是是黑客攻擊的重點對象之一。因此,後臺開發的小夥伴都在接口文檔中要求我們

原创 iOS開發封裝篇-模仿百度外賣波浪頭像效果

一,學習分享 今天加班很晚了,直接說重點,核心的東西只有兩個地方: 1.CADisplayLink:利用刷幀和屏幕頻率一樣來重繪渲染頁面,也就是說每次屏幕刷新的時候就會調用它的響應方法(屏幕一般一秒刷新60次),在繪圖中需要重繪時常用它來