成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

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

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

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

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

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

copy:指定應該使用對象的副本(深度復制),前一個值發送一條release消息。基本上像retain,但是沒有增加引用計數,是分配一塊新的內存來放置它。

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

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

2、了解NSAutoreleasePool

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

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

對象不會自動入池,只有當對象發送一條autorelease消息時才會被添加到當前的池中。可以想象池在一個棧中,當前池在棧頂,每創建一個新的池,就壓入,使用drain或者release時,就彈出。

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

如下面代碼就會提示內存泄漏:

  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環境下,兩者的作用是相同的。否則你沒有理由去使用release,給NSAutoreleasePool發送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    轉置(Transpose,交換)光標兩邊的符號  
  9. control-D    刪除(Delete)光標右邊的字符  
  10. control-L    將插入點置于窗口正中(不解) 

Xcode快捷鍵:

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

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

責任編輯:zhaolei 來源: 互聯網
相關推薦

2011-08-05 14:03:39

Objective-C 對象 模板

2011-08-04 14:58:37

Objective-C Cocoa NSString

2011-07-27 16:36:03

iphone Objective- 靜態庫

2011-08-04 11:04:14

Objective-C 面向對象 繼承

2011-08-04 10:38:17

Objective-C 預處理程序

2011-08-17 11:05:22

Objective-C方法

2011-07-29 16:16:30

Objective-c block

2011-08-17 10:58:59

Objective-C構造函數

2011-07-08 13:49:46

Objective-C UUID

2011-07-25 10:30:41

Objective-C Xcode 重構

2011-07-25 11:02:29

Objective-C Xcode 標簽

2011-07-25 10:14:13

Objective-C Xcode

2011-08-15 16:09:44

Cocoa對象Objective-C

2011-07-22 15:42:39

Objective-C UIView 內存

2011-05-11 14:06:49

Objective-C

2013-08-21 14:57:42

objective-c問題

2011-08-18 15:19:28

XcodeObjective-C語法

2015-10-08 10:01:10

Objective-CLayout

2011-07-18 16:36:51

Objective-C XCode

2014-04-01 10:50:42

iOS開發runtimeObjective-C
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线一区二区三区 | 亚洲性网 | 成人免费精品视频 | 欧美一区二区三区视频 | 中文字幕精品一区 | 成人精品国产免费网站 | 午夜在线视频 | 久久精品二区亚洲w码 | www.色五月.com | 精品乱人伦一区二区三区 | 日韩在线一区二区三区 | 成人免费小视频 | 99精品久久99久久久久 | 成人午夜视频在线观看 | 全部免费毛片在线播放网站 | 久久国产精品视频 | 国产超碰人人爽人人做人人爱 | 色999视频 | 91精品国产综合久久久久 | 青青草在线视频免费观看 | 日本一区二区高清不卡 | 欧美日韩在线免费 | 国产精品五区 | 欧美精品一区二区在线观看 | 超碰人人插 | 在线四虎| 国产一区二区在线免费观看 | 欧美一区二区三区大片 | 欧美日韩亚洲二区 | 欧美一区二区在线播放 | 亚洲精品一级 | 伊人在线 | 毛片毛片毛片毛片毛片 | 日韩在线大片 | 91亚洲精品在线 | 久久一及片 | 最新国产视频 | 在线一区二区三区 | 国产精品久久久久久久久久 | 狠狠插天天干 | 亚洲精品一区二区三区中文字幕 |