成人免费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-08-15 16:09:44

Cocoa對象Objective-C

2011-07-22 15:42:39

Objective-C UIView 內存

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-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技術棧公眾號

主站蜘蛛池模板: 欧美三级免费观看 | 鲁大师一区影视 | 国产1区2区在线观看 | 国产免费一区二区 | 美日韩精品 | 成人影院在线观看 | 天天躁人人躁人人躁狂躁 | 久久骚| 黄色国产在线播放 | 日韩在线免费观看视频 | 九九久久久久久 | 国产成人精品av | 99久久久国产精品 | 久久久久国产成人精品亚洲午夜 | 中文字幕一区二区三区日韩精品 | 国产精品久久久久久久久久了 | 亚洲精品性视频 | 精品日韩在线 | 欧美日韩福利视频 | 精品自拍视频在线观看 | 欧美精品一区二区三区在线四季 | 成人在线视频一区 | 黄色网址在线免费播放 | 亚洲成av人片在线观看 | 毛片免费看的 | 高清亚洲 | www.久草.com | 婷婷色在线播放 | 国产成人综合网 | 亚洲精品一区二区二区 | 99爱国产| 九九99九九精彩46 | 一区二区三区中文字幕 | 色久影院 | 色资源在线 | 国产成人免费视频网站视频社区 | h肉视频 | 精品蜜桃一区二区三区 | 99热电影| 懂色中文一区二区三区在线视频 | 女人牲交视频一级毛片 |