原创 NSTimer說明

NSTimer   看到這個標題,你可能會想NSTimer不就是計時器嗎,誰不會用,不就是一個能夠定時的完成任務的東西嗎?   我想說你知道NSTimer會retain你添加調用方法的對象嗎?你知道NSTimer是要加到runloo

原创 linux核list_for_each_entry(pos, head, member)分析

這裏大概敘述了typeof是一個什麼東西,怎麼用,實際上可以用簡單的話來重述。如果你對sizeof很熟悉的話,那麼大可進行類推,sizeof(exp.)返回的是exp.的數據類型大小,那麼typeof(exp.)返回的就是exp.的 數

原创 hlist哈系鏈表

內核中,使用list_head作爲鏈表,該數據結構本身即使head又是node。如果將它作爲hash list的頭節點,那麼每個頭節點會佔用8個字節。因此內核中對其優化,使用hlist_head作爲hash表的頭節點。內核中定義其數據結

原创 求1+2+...+n

題目: 求1+2+…+n, 要求不能使用乘除法、for、while、if、else、switch、case等關鍵字以及條件判斷語句(A?B:C)。 解法: 採取模版元編程即可。 代碼: template <int N> struct

原创 Objective-C 線程開發總結

NSThread, NSOperation, GCD 1>無論使用哪種方法進行多線程開發,每個線程啓動後並不一定立即執行相應的操作,具體什麼時候由系統調度(CPU空閒時就會執行)。 2>更新UI應該在主線程(UI線程)中進行,並且推

原创 #define f(a, b) a##b

表示L與x連接。以下來自網絡:#define Conn(x,y) x##y#define ToChar(x) #@x#define ToString(x) #xx##y表示什麼?表示x連接y,舉例說:int n = Conn(123,45

原创 @synchronized()說明

Objective-C @synchronized(self) {     //something like this     // codes } Swift: func synchronize<T>(lockObj: A

原创 IOS內存管理

1.  內總管理原則(引用計數)     IOS的對象都繼承於NSObject,   該對象有一個方法:retainCount ,內存引用計數。 引用計數在很多技術都用到: window下的COM組件,多線程的信號量,讀寫鎖,思想都一樣

原创 關於(void)(&min1 == &min2)的問題和宏define min(a, b)

宏定義: #define min(x, y)                                 / ({                                                /     typeof

原创 Objective-C的鎖機制

NSLock iOS中對於資源搶佔的問題可以使用同步鎖NSLock來解決,使用時把需要加鎖的代碼(以後暫時稱這段代碼爲”加鎖代碼“)放到NSLock的lock和unlock之間,一個線程A進入加鎖代碼之後由於已經加鎖,另一個線程B就無

原创 從上往下打印樹節點

題目:輸入一顆二元樹,從上往下按層打印樹的每個結點,同一層中按照從左往右的順序打印。  例如輸入   8   / \  6 10 / \ / \ 5 7 9 11   輸出8 6 10 5 7 9 11。 解法1: 採用 STL 的m

原创 求二叉樹中節點的最大距離

如果我們把二叉樹看成一個圖, 父子節點之間的連線看成是雙向的, 我們姑且定義"距離"爲兩節點之間邊的個數。 寫一個程序, 求一棵二叉樹中相距最遠的兩個節點之間的距離。 思路:運用遞歸算法即可, void maxedge(BSTree r

原创 AFNetworking和ASIHttpReust的對比

                           ASI和AFN以及底層框架的關係    對比 ASI AFN 更新狀態 2012年10月份,已經停止更新 持續更新中,目前已更新至2.0版 介紹 ASI的直

原创 Run Loop詳細說明

Run loops是線程的基礎架構部分。一個run loop就是一個事件處理循環,用來不停的調配工作以及處理輸入事件。使用run loop的目的是使你的線程在有工作的時候工作,沒有的時候休眠。 Run loop的管理並不完全是自動的。

原创 Swift 的元組介紹

元組的定義 元組是Objective-C中沒有的數據類型,與數組類似,都是表示一組數據的集合,但與數組不同,它的特點是: 元組的長度任意元組中的數據可以是不同的數據類型 元組的定義很簡單,用小括號括起來,然後以逗號隔開就可以了,如