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

iPhone應用學習筆記之對象初始化

移動開發 iOS
iPhone學習筆記中對象的初始化是本文要介紹的內容,主要是來學習一下對象初始化的內容,來看詳細內容。為方便學習,附有代碼!

iPhone應用學習筆記中對象的初始化是本文要介紹的內容,主要是來學習一下對象初始化的內容,來看詳細內容。為方便學習,附有代碼!

1、關于  self = [super init]

最先運行的代碼是[super init],其作用是使超類完成它們自己的初始化工作。從根類NSObject繼承的類調用超類的初始化方法,可以使NSObject執行所需的任何操作,以便對象能夠響應消息并處理保留計數器。而從其他類繼承的類調用超類的初始化方法,可以使子類有機會實現自己全新的初始化。

實例變量所在的內存位置到隱藏的self參數之間的距離是固定的,如果從init方法返回一個新對象,而需要更新self,以便其后的任何實例變量的引用可以唄映射到正確的內存位置,這也是我們需要使用self = [super init]這種形式進行賦值的原因。

這個賦值操作值影響給init方法中self的值,而不影響該方法范圍以外的任何內容。

2、有關便利初始化函數

許多類包含便利初始化函數,他們用來完成某些額外工作的初始化方法。

NSString類:

  1. -(id) init; 

以上方法初始化一個新的空字符串,對于不可變的NSString類來說,這個方法沒有多大用處。但是,你可以分配和初始化一個新的NSMutableString類的對象并開始向該對象中保存字符,你可以使用下面這樣使用此對象:

  1. NSString *emptyString = [[NSString alloc] init]; 

上面的代碼返回一個空字符串

當然,你也可以接受格式化的字符串并輸出格式化的結果一樣。

  1. string  = [[NSString alloc] initWithFormat:@"%d or %d", 25, 624]; 

上面的代碼返回一個字符串,其值為“25 or 624”;

更強大的是,你可以打開指定路徑上的文本文件,讀取文件內容太,并使用文件內容初始化一個字符串。

  1. string  = [[NSString alloc] initWithContentsOfFile: @"words.txt"]; 

創建NSMutableArray數組,有一個很簡便的方法replaceObjectAtIndex:withObject,該方法最適合用來實現setTire:atIndex.

要使用replaceObjectAtIndex:withObject:方法,在指定的索引位置必須存在一個能夠被替代的對象。

新的NSMutableArray數組不包含任何內容,因此需要使用一些對象作為占位符,NSNull類的對象非常適合完成此項工作,因此,我們在數組中添加4個NSNull對象

附上Tire.m的代碼:

  1. #import "Tire.h"  
  2. @implementation Tire  
  3. - (id) init  
  4. {  
  5. if (self = [self initWithPressure: 34  
  6. treadDepth: 20]) {  
  7. }  
  8. return (self);  
  9. } // init  
  10. - (id) initWithPressure: (float) p  
  11. {  
  12. if (self = [self initWithPressure: p  
  13. treadDepth: 20.0]) {  
  14. }  
  15. return (self);  
  16. } // initWithPressure  
  17. - (id) initWithTreadDepth: (float) td  
  18. {  
  19. if (self = [self initWithPressure: 34.0  
  20. treadDepth: td]) {  
  21. }  
  22. return (self);  
  23. } // initWithTreadDepth  
  24. - (id) initWithPressure: (float) p  
  25. treadDepth: (float) td  
  26. {  
  27. if (self = [super init]) {  
  28. ppressure = p;  
  29. treadDepth = td;  
  30. }  
  31. return (self);  
  32. } // initWithPressure:treadDepth:  
  33. - (void) setPressure: (float) p  
  34. {  
  35. ppressure = p;  
  36. } // setPressure  
  37. - (float) pressure  
  38. {  
  39. return (pressure);  
  40. } // pressure  
  41. - (void) setTreadDepth: (float) td  
  42. {  
  43. treadDepth = td;  
  44. } // setTreadDepth  
  45. - (float) treadDepth  
  46. {  
  47. return (treadDepth);  
  48. } // treadDepth  
  49. - (NSString *) description  
  50. {  
  51. NSString *desc;  
  52. desc = [NSString stringWithFormat:  
  53. @"Tire: Pressure: %.1f TreadDepth: %.1f",  
  54. pressure, treadDepth];  
  55. return (desc);  
  56. } // description  
  57. @end // Tire 

小結:iPhone應用學習筆記之對象初始化的內容介紹完了,希望本文對你有所幫助!

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

2011-08-02 15:47:28

Cocos2D Animation

2011-08-09 17:29:29

iPhone文件屏幕

2009-12-16 14:04:04

Ruby對象初始化

2009-07-31 17:51:27

C#對象初始化

2011-06-17 15:29:44

C#對象初始化器集合初始化器

2012-05-23 12:46:53

JavaJava類

2009-08-27 10:31:39

C#對象初始化器

2011-08-08 14:57:46

iPhone Autoreleas Property

2009-08-14 17:52:27

C#對象初始化

2009-11-18 17:53:18

PHP數組初始化

2011-07-07 15:13:42

PHP

2011-08-11 17:15:54

iPhone歸檔

2012-02-28 10:04:09

Java

2009-08-26 15:28:52

C#對象集合初始化器

2023-11-12 23:08:17

C++初始化

2009-08-12 17:43:54

雙括弧Java語法技巧

2011-08-16 14:54:12

iphone開發APP

2011-03-08 16:30:24

Proftpd

2011-08-12 09:48:24

iPhoneCoreLocatio定位

2011-08-19 11:10:31

iPhone應用
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩欧美不卡 | 午夜一级做a爰片久久毛片 精品综合 | 久久av网站| 91精品国产乱码久久久久久久 | 日本精品一区二区三区在线观看视频 | av中文字幕在线播放 | 欧美激情va永久在线播放 | 国产一区二区三区视频在线观看 | 国产精品视频500部 a久久 | 天天操天天怕 | 欧美一区2区三区4区公司二百 | 亚洲一区二区三区在线播放 | 国产精品久久毛片av大全日韩 | 成人h动漫亚洲一区二区 | 久久99精品久久久久久国产越南 | 91影库| 国产在线视频在线观看 | 97视频久久 | 亚洲免费人成在线视频观看 | 午夜视频大全 | 自拍偷拍视频网 | 麻豆成人在线视频 | 欧美性精品 | 国产在线精品一区二区三区 | 国产视频久久久 | 国产欧美一区二区三区在线看 | 亚洲成人av| 日本久久综合 | 色黄视频在线 | 91久久夜色 | 欧美在线视频网 | 中文字幕在线播放第一页 | 中文字幕在线播放第一页 | 国产美女福利在线观看 | 久久久久久久久久影视 | 成av在线| 国产精品美女久久久久久久久久久 | 精品国产乱码久久久久久蜜臀 | 香蕉久久久 | 男女啪啪高潮无遮挡免费动态 | 欧美综合网 |