objective-c相關知識點

1,objective-c中實現線程同步:java

Mutexlock (互斥鎖)、NSCondition lock (條件鎖)消息傳送c++

2,UDP和TCP:objective-c

TCP :傳輸控制協議,能夠提供面向鏈接的、可靠的、點到點的通訊。數據庫

UDP :用戶數據包協議。提供非鏈接的不可靠的點到多點的通訊,是osi參考模型中一種無鏈接的傳輸層協議,提供面向事務的簡單的不可靠信息傳輸。編程

3,TCP/IP 創建鏈接的過程:數組

在TCP/IP 協議中,TCP協議提供可靠的鏈接服務,採用三次握手創建鏈接;服務器

第一次握手:創建鏈接時,客戶端發送鏈接請求到服務器,並進入SYN_SEND狀態,等待服務器確認;數據結構

第二次握手:服務器收到客戶端鏈接請求,向客戶端發送容許鏈接應答,此時服務器進入SYN_RECV狀態;函數

第三次握手:客戶端收到服務器的容許鏈接應答,向服務器發送確認,客戶端和服務器進入通訊狀態,完成三次握手。線程

(所謂的三次握手,就是要有三次鏈接信息的發送、接收過程。TCP連的創建須要進行三次鏈接信息的發送、接收。)

4,全局變量能夠定義在 被多個.c文件包含  的頭文件中,在不一樣的c文件中以static 形式來聲明同名全局變量。前提是其中只能有一個c文件中對此變量賦初值,此時鏈接不會出錯。

5,引用一個已經定義過的全局變量:

  • extern關鍵字
  • 也能夠用引用頭文件的方式。

若是用引用頭文件的方式來引用某個在頭文件中的全局變量,假定你那個變量寫錯了,那麼編譯期間會報錯,若是用extern 方式引用時,假定你犯了一樣的錯誤,那麼在編譯期間不會報錯,而在鏈接期間報錯。

6,數據結構:

數據結構是計算機存儲、組織數據的方式。是指相互之間存在一種或多種特定關係的數據元素的集合。

一般,精心選擇的數據結構能夠帶來更高的運行或者存儲效率。

7,編程中,保存數據的方式:

數組、自定義類、文件操做,數據庫

如:SQLite 、core data、 plist 、NSUserDefaults、file 

8,Sizeof 和strlen 的區別和聯繫:

Sizeof() 是運算符,能夠用類型作參數,還能夠用函數作參數,功能是得到保證能容納實現所創建的最大對象的字節大小;Sizeof()不會把參數退化爲指針,strlen()把參數退化爲指針

strlen()是函數,要在運行時才能計算。參數必須是字符行指針且必須是以」\0″結尾的。功能爲:返回字符串的的長度。

9,抽象類的定義,抽象類的做用:

在c++中,含有純虛擬函數的類稱爲抽象類,他不能生成對象;

在java中,含有抽象方法的類稱爲抽象類,一樣不能生成對象;

抽象類是不完整的,沒有徹底實現,只能用做基類;不能實例化。

10,@interface和@property

@interface 申明一個類

@property就是申明2個函數,getter和setter,編譯器會自動產生2個函數;

11,一個類的靜態方法不須要release,靜態方法就是類方法,類方法對象放在autorelease中

12,do while和while do:

  do while 是先執行後判斷,條件不知足也要執行一次;

  while do 是先判斷後執行,條件不知足就一次都不執行。

13,死循環:while(1){}、 for(;;){}

14,預處理指令#define聲明一個常數代表一年中有多少秒(忽略潤年問題):#define SECONS_PER_YER(60*60*24*365)UL

15,assign和retain ,copy:

  assign就是和普通語言的賦值同樣,不改變引用計數;

  retain 在一個對象中保存該對象須要擁有的對象,對該對象引用計數+1,指針拷貝;

  copy 對NSString內容拷貝,拷貝以前都會釋放舊的對象;

  readonly 表示這個屬性是隻讀的,就是隻生成getter 方法,不生成setter 方法。

  read write 設置可供訪問級別

16,類之間的繼承關係:

  UIResponder ,處理觸摸,touchBegin、touchEnd ,nextResponder

 UIView的父類UIResponder 
相關文章
相關標籤/搜索