自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

詳解Objective-C學習筆記使用教程

移動開發(fā) iOS
本文主要是來講解Objective-C的學習筆記,主要來學習Objective-C的屬性特點、NSAutoreleasePool的了解、Emacs的移動快捷鍵+Xcode常用鍵的內(nèi)容,來看詳細內(nèi)容講解。

Objective-C的學習筆記是本文要介紹的內(nèi)容,主要來學習Objective-C的屬性特點、NSAutoreleasePool的了解、Emacs的移動快捷鍵+Xcode常用鍵的內(nèi)容,來看詳細內(nèi)容講解。

1、Objective-C 屬性特性(assign , retain , copy , readonly , readwrite)

assign:指定setter方法用簡單的賦值,這是默認操作。你可以對標量類型(如int)使用這個屬性。你可以想象一個float,它不是一個對象,所以它不能retain、copy。

retain:指定retain應該在后面的對象上調(diào)用,前一個值發(fā)送一條release消息。你可以想象一個NSString實例,它是一個對象,而且你可能想要retain它。

copy:指定應該使用對象的副本(深度復制),前一個值發(fā)送一條release消息?;旧舷駌etain,但是沒有增加引用計數(shù),是分配一塊新的內(nèi)存來放置它。

readonly:將只生成getter方法而不生成setter方法(getter方法沒有get前綴)。

readwrite:默認屬性,將生成不帶額外參數(shù)的getter和setter方法(setter方法只有一個參數(shù))。

2、了解NSAutoreleasePool

NSAutoreleasePool是一個存放對象的集合,添加到NSAutoreleasePool的對象能夠被自動釋放。

自動釋放其實就是在NSAutoreleasePool被清空或是銷毀時向池里所有的對象發(fā)送一條release消息。

對象不會自動入池,只有當對象發(fā)送一條autorelease消息時才會被添加到當前的池中??梢韵胂蟪卦谝粋€棧中,當前池在棧頂,每創(chuàng)建一個新的池,就壓入,使用drain或者release時,就彈出。

當有對象是Autorelease的對象,而當前沒有NSAutoreleasePool的話,就會提示內(nèi)存泄漏(Just Leaking)。一般來說,只要不是用new、alloc、copy方法創(chuàng)建一個對象的話,我們就假設該對象的引用計數(shù)為1,而且被添加到NSAutoreleasePool中。

如下面代碼就會提示內(nèi)存泄漏:

  1. NSDate *date = [NSDate date];    
  2. NSLog(@"%@",[date description]);    
  3. return 0;    
  4. /*   
  5.  objc[3466]: Object 0x1001149c0 of class __NSDate autoreleased    
  6.  with no pool in place    
  7.  - just leaking - break on objc_autoreleaseNoPool() to debug   
  8. */    
  9. NSDate *date = [NSDate date];  
  10. NSLog(@"%@",[date description]);  
  11. return 0;  
  12. /*  
  13.  objc[3466]: Object 0x1001149c0 of class __NSDate autoreleased   
  14.  with no pool in place   
  15.  - just leaking - break on objc_autoreleaseNoPool() to debug  
  16. */  

關于drain和release的問題可以在此處找到說明。在非GC環(huán)境下,兩者的作用是相同的。否則你沒有理由去使用release,給NSAutoreleasePool發(fā)送drain會提醒GC處理池中的對象。

3、Emacs的移動快捷鍵+Xcode快捷鍵

雖然不想在學Emacs的使用,但為了在Mac下使用的更順暢,還是記錄下來,因為這些xcode快捷鍵鍵可以在Xcode、TextEdit、Safari的URL地址欄等處使用。

  1. control-F    向右邊(Forward)移動  
  2. control-B    向左邊(Backward)移動  
  3. control-N    向下(Next)移動一行  
  4. control-P    向上(Previous)移動一行  
  5. control-K    刪除(Kill)光標后的代碼  
  6. control-A    移動到行首(同command+左箭頭)  
  7. control-E    移動到行尾(同command+右箭頭)  
  8. control-T    轉(zhuǎn)置(Transpose,交換)光標兩邊的符號  
  9. control-D    刪除(Delete)光標右邊的字符  
  10. control-L    將插入點置于窗口正中(不解) 

Xcode快捷鍵:

  1. command+[    左移代碼塊  
  2. command+]    右移代碼塊  
  3. Tab                   接受代碼提示  
  4. Ese                   顯示代碼提示  
  5. Control+.         循環(huán)瀏覽代碼提示  
  6. Shift+Control+.  反向瀏覽代碼提示  
  7. Control+/            移動到代碼提示的下一個點位符  
  8. Command+Control+S    創(chuàng)建快照 

小結(jié):關于Objective-C的屬性特點、NSAutoreleasePool的了解、Emacs的移動快捷鍵+Xcode常用鍵的內(nèi)容的內(nèi)容介紹完了,希望通過本文的學習能對你有所幫助!

責任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關推薦

2011-08-05 14:03:39

Objective-C 對象 模板

2011-07-27 16:36:03

iphone Objective- 靜態(tài)庫

2011-08-04 14:58:37

Objective-C Cocoa NSString

2011-08-04 11:04:14

Objective-C 面向?qū)ο? 繼承

2011-08-04 10:38:17

Objective-C 預處理程序

2011-08-17 11:05:22

Objective-C方法

2011-08-15 16:09:44

Cocoa對象Objective-C

2011-07-25 10:14:13

Objective-C Xcode

2011-07-25 10:30:41

Objective-C Xcode 重構(gòu)

2011-07-25 11:02:29

Objective-C Xcode 標簽

2011-07-29 16:16:30

Objective-c block

2011-08-17 10:58:59

Objective-C構(gòu)造函數(shù)

2011-07-08 13:49:46

Objective-C UUID

2011-07-22 15:42:39

Objective-C UIView 內(nèi)存

2011-08-18 15:19:28

XcodeObjective-C語法

2013-08-21 14:57:42

objective-c問題

2011-05-11 14:06:49

Objective-C

2011-07-18 16:36:51

Objective-C XCode

2015-10-08 10:01:10

Objective-CLayout

2014-04-01 10:50:42

iOS開發(fā)runtimeObjective-C
點贊
收藏

51CTO技術棧公眾號