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

深度解析關于Objective-C小概念

移動開發 iOS
關于Objective-C小概念是本文要介紹的內容,主要是來了解Objective-C中的一些要注意的細節學習。一起來看詳細內容。

關于Objective-C小概念是本文要介紹的內容,主要是來了解Objective-C中的一些要注意的細節學習。一起來看詳細內容。

1、定義類: 在.h文件中,

  1. @interface 類名:父類名  
  2.           {  
  3.        成員變量;  
  4.           } 

1、成員函數;

  1. @end; 

在.m文件中,@implementation 類名成員函數定義;

  1. @end; 

2、成員函數定義:-(返回值類型)函數名:(參數類型)參數,...

  1. -(void) setColor:(NSString*)newColor  
  2.  {  
  3.     Color=newColor;  
  4.  }      
  5.  -(void) setNumber:(int)newNumber  
  6.  {  
  7.     Number=newNumber;  
  8.  } 

3、實例化類:

  1. myCar=[Car new];  
  2. [myCar setColor:red];  
  3. [myCar setNumber:Num]; 

4、@class指令:

當一個類中要使用另一個已經定義好的類時,用@class,若要用到其中的方法,則要#import這個類。

5、內存管理:

iphone操作系統不支持垃圾回收機制。

創建一個對象一般用alloc+init,也可用new;

alloc,copy,retain,release,autorelease;

6、Foundation框架:

  1. @import <Foundation/Foundation.h> 
  2. NSString類,NSMutableString類;  
  3. NSArray類,NSMutableArray類;  
  4. NSDictionary類,NSMutableDictionary類; 

7、存取器:

聲明類變量時,可使其成為屬性。@property int Number;

.m文件中,可加入@synthesize Number,自動生成setter和getter方法;

這樣,便可用點操作符訪問成員變量,car.Number=27;

8、創建對象:

  1.  id 對象名=[類名 alloc];  
  2.  [對象名 init];  
  3. Boat *boat=[[Boat allco] init];  
  4.  Boat *boat=[[Boat alloc] initWithNum:123  
  5.                           Color:@"red"]; 

一般情況下,init時這樣寫:

  1. -init  
  2. {  
  3.       if(self=[super init]){  
  4.         //初始化操作  
  5.       return self;  

有參數時,

  1. -(id) initWithNum:(int) Num  
  2.       Color:(NSString*) Color; 

9、變量作用域:

  沒有任何作用域限制時,默認為protected;

10、@try異常處理:

  1. @try{}  
  2. @catch(NSException *exception){NSLog(@"Catch exception name :%@; reason:%@;",  
  3.                               [exception name],[exception reason]);}  
  4. @finally{} 

11、類目與協議:

有時候需要在一個已經定義好的類中加入一些方法而不重寫該類,可以使用類目(categories)。

如已定義一Circle類,CircleCal.h文件中,

  1. @import "Circle.h"  
  2. @interface Circle(CircleCal)  
  3. -(float) AreaCal;  
  4. -(float) LenCal;  
  5. @end; 

CircleCal.m文件中,

  1. #import "CircleCal.h"  
  2. @implementation Circle(CircleCal)  
  3. -(float) AreaCal{}  
  4. -(float) LenCal{}  
  5. @end; 

此時便可在main函數中調用新定義的函數;

ps:類目不能向類中添加實例變量;類目可以覆蓋它所要擴展的類中的方法,不過應盡量避免;使用類目對一個類進行擴展時,同樣會影響到該類的子類。

協議是一個方法列表。它聲明了一系列方法而不予以實現。協議不是類本身,沒有父類,而且不能定義成員變量。

  1. @protocol Calculating  
  2. -(void) CalculateArea;  
  3. @end;  
  4. @interface Rectangle:NSObject <Calculating>{} 

在定義Rectangle中的成員函數時,也要定義Calculating中的方法,這樣才能調用。

@protocol有兩個修飾符:@optional和@required,

被@optional修飾的方法,在采用該協議的類中可以選擇不實現,而采用@required修飾的方法,則必須實現。默認為@required。

小結:深度解析關于Objective-C小概念的內容介紹完了,希望通過本文的學習能對你有所幫助!

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

2011-08-11 17:39:25

Objective-C筆試題

2011-07-29 16:08:31

Objective-C 內存

2011-08-10 18:07:29

Objective-C反射

2013-03-27 12:54:00

iOS開發Objective-C

2011-08-15 17:29:36

Objective-C構造函數

2011-08-05 15:46:32

Objective-C 程序設計

2011-07-20 13:34:37

Objective-C self.

2011-08-17 15:37:23

Objective-C垃圾收集

2011-08-04 15:14:39

Objective-C 數據類型

2013-06-20 10:40:32

Objective-C實現截圖

2011-05-11 11:20:26

Objective-C

2011-05-11 15:58:34

Objective-C

2011-08-04 16:46:03

Objective-C 聲明

2011-07-26 10:50:50

Objective-C Selector

2011-08-04 15:52:48

Objective-C HTML

2011-05-11 13:54:08

Objective-C

2011-05-11 15:45:50

內存管理Objective-C

2011-08-02 13:16:36

Objective-C 語法 函數

2011-08-04 11:15:46

Objective-C 構造函數 構造方法

2011-05-11 14:06:49

Objective-C
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩精品一区二区三区免费视频 | 视频一区二区在线观看 | 国产精品久久久久久久久久尿 | 亚洲影音 | 狠狠夜夜| 国产激情免费视频 | 午夜精品久久久久99蜜 | 欧美成人免费 | 国产精品日产欧美久久久久 | 伊人成人免费视频 | 亚洲综合色视频在线观看 | 综合自拍| 91精品国产乱码久久久 | 五月网婷婷 | 黄色在线免费观看 | 国产一区二区三区在线 | 亚洲福利一区 | 久久亚洲一区 | 午夜精品视频在线观看 | 精品国产精品一区二区夜夜嗨 | 亚洲精品久久久久久下一站 | 在线国产小视频 | 亚洲视频一区在线 | 精品欧美乱码久久久久久1区2区 | 日一区二区 | 国产日韩一区二区三免费高清 | 成人免费视屏 | 欧美日韩精品在线一区 | 日韩中文视频 | 在线视频亚洲 | 91精品国产91久久综合桃花 | 国产美女特级嫩嫩嫩bbb片 | 欧美性猛交 | 欧美a区 | 激情欧美一区二区三区中文字幕 | 亚洲精品一区二区三区蜜桃久 | 日韩中文字幕久久 | 手机看片169 | 国产成人福利在线 | 日韩精品一区二区三区中文在线 | 亚洲电影一区二区三区 |