原创 UIWindow小結

引言:開發過程中有時候會需要一種情形例如百思不得姐,或者新浪微博的中間的發佈按鈕點擊,彈出一個界面的場景,這種情況一種解決辦法是直接搞一個控制器,然後點擊的時候讓根控制器直接moda出來這個控制器,設置一下不需要動畫即可達到效果,但是這

原创 iOS開發中一些重要的系統方法使用注意事項總結

開發過程中,一些系統的方法會在默認的時候自動調用,做一些相對應的操作,這些知識點很小,但是很重要,有時候會對開發效率起到很大的重要,所以這裏總結梳理一下,方便開發。 一:添加子控件,佈局內容 很常見的一種情形是在控制器的viewDidLo

原创 控制器銷燬時取消網絡請求,防止Crash!

當進行一些網絡請求時,一般都是通過AFN來做的,有可能在網絡比較慢的時候,請求結果還沒回來,但是此時用戶已經退出了這個控制器,也就是說這個控制器已經

原创 iOS開發過程中H5與OC的交互

在一些native與H5合作開發的過程中,經常會遇到H5與native進行交互的問題,這個時候兩者的通信就變得必不可少了,怎麼在OC中處理H5的內容,怎麼在H5 裏面調用OC的東西呢?這裏來介紹一下。 其實上面的引言的答案就是通過一個媒介

原创 iOS開發運行時機制介紹

iOS開發有很多很神奇的東西,雖然有時候用到的不是很多,或者說目前還沒用到,但是作爲一名iOS工程師,瞭解和掌握這些東西是必不可少的。下面就介紹一位重量級的選手--iOS的黑魔法----運行時機制。 何爲運行時?下面兩句話就是對其最基礎也

原创 iOS狀態欄設置詳解!

在iOS開發過程中,經常會設置狀態欄的樣式,所以這裏來學習一下狀態欄的常用的設置方法。 1.首先明白狀態欄的基本概念 ios上狀態欄 就是指的最上面的20像素高的部分 狀態欄分前後兩部分,要分清這兩個概念,後面會用到: 前景部分:就是

原创 JS起源及發展歷史

作爲一個iOS開發,僅僅瞭解iOS的知識是遠遠不夠的,爲了更好的提升自己,更好的發展,必須要學習相關的知識,JavaScript,HTML,.net,Java等,這些相關的知識都是需要了解和掌握的,這對於職業的發展是十分有利,也是十分有必

原创 ARC和MRC下的block的內存分佈詳解

 Block有三種類型,分別是 __NSGlobalBlock__:全局Block,程序被加載後被分配在進程數據段上(類似函數,位於text段),也就是常量,靜態創建的Block。 __NSMallocBlock__:在進程堆上分配的Bl

原创 JavaScript函數,方法,this總結

作爲一個iOS開發者,先吐槽一下JavaScript,學習JavaScript真的是無語,隨意的語法,各種奇葩的設計(畢竟是10天左右設計出來的,肯定會有考慮不周的地方),總之寫習慣了OC,寫起來JS總是會感覺很不嚴謹,經常會忘記語法(跑

原创 GCD的一點小補充

GCD大家經常在開發中使用到,這個已經很熟悉了,而且異步的意義大家也都知道,今天要說的就是和異步相關的一個小知識,不講那些老生常談的東西。可能大家經常這樣寫,或許也能簡單的說出一些門道,但是能完全搞清楚其中的意義嗎?PS:真實經歷,思考這

原创 iOS-hitTest:withEvent與自定義hit-testing規則

序 在做tableView嵌套scrollView的時候怕手勢衝突,研究了一下hitTest,雖然最後沒用上,但是覺得比較有用,寫了一個DEMO,通過重寫hitTest:withEvent,實現了超出父視圖範圍響應觸摸事件等自定

原创 C語言內存機制詳解

對於一個C語言程序而言,內存空間主要由五個部分組成代碼段(.text)、數據段(.data)、BSS段(.bss),堆和棧組成,其中代碼段,數據段和BSS段是編譯的時候由編譯器分配的,而堆和 棧是程序運行的時候由系統分配的。佈局如下

原创 OC中關鍵字的介紹及原理分析

關於OC中的關鍵字,是平時使用離不開的,也是面試官最喜歡問的,不管是出於那種考慮吧,作爲一個ios開發的程序員,都必須完全理解透徹。本文旨在羅列分析和對比這些關鍵字。copy,assign,strong,retain,weak,reado

原创 UIImage的scale及size,二倍圖,三倍圖,像素等概念透析

iOS4.0加入了scale factor,這表示point長度/pixel長度。在分辨率爲960*640的設備上,我們知道邏輯座標系還是不變480*320,那麼一個point有兩個pixel長,所以scale=2.0。在分辨率爲480*

原创 組件化開發

隨着移動互聯網的不斷髮展,很多程序代碼量和業務越來越多,傳統的MVC,MVVM等架構已經不適合公司業務的發展速度了,很多都面臨着重構的問題。在公司項目開發中,如果項目比較小,普通的單工程+MVC架構就可以滿足大多數需求了。但是像淘寶、蘑菇