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

Objective-C中一些關鍵字 學好必知

移動開發 iOS
本文介紹的是Objective C中一些關鍵字 學好必知,本文屬于幫助性質的一片文章,幫助快速有效的去學習Objective C,先來看內容。

本文介紹的是Objective-C中一些關鍵字 學好必知,本文屬于幫助性質的一片文章,幫助快速有效的去學習Objective-C,先來看內容。

關于變量的作用域

  1. protected —Methods defined in the class and any subclasses can directly access the instance variables that follow.This is the default case. 

該類和所有的子類中的方法可以直接訪問這樣的變量,這是默認的。

  1. private —Methods defined in the class can directly access the instance variables that follow, but subclasses cannot. 

該類中的方法可以訪問這樣的變量,子類不可以。

  1. public —Methods defined in the class and any other classes or modules can di- rectly access the instance variables that follow. 

除了自己和子類中的方法外,也可以被其他類或者其他模塊中的方法所訪問。開放性最大。

  1. package —For 64-bit images, the instance variable can be accessed anywhere within the image that implements the class. 

對于64位圖像,這樣的成員變量可以在實現這個類的圖像中隨意訪問。

全局變量(extern)

在程序的開始處,沒有在一個方法里面寫了

  1. int gMoveNumber=0

那么我們說這個變量就是全局變量,也就是說在這個模塊中的任何位置可以訪問這個變量。

這樣的變量也是外部全局變量,在其他文件中也可以訪問它。但是訪問的時候要重新說明下這個變量,說明的方法是:

  1. extern int gMoveNumber; 

當然我們也可以在聲明的時候加上extern關鍵字。

  1. extern int gMoveNumber=0

這樣的話在其他的類中使用還是需要重新說明一下了,而且這時候編譯器會給出警告。

如果這個全局變量只是在自己的類中使用,或者其他的類使用的它情況也比較小,那么我們把它定義成第一種情況,如果在外部文件使用的也比較多的話,那么我們把它定義成第二種情況。

這種定義其實違背了封裝性。

靜態變量(static)

因為全局變量是全局的,影響封裝,所以有時候要用靜態變量。

  1. static int gMoveNumber; 

這是這個變量是這個類中的靜態變量。如果不定義初始值的話為零。

如果靜態變量定義在方法中,那么這個變量在方法執行完之后還是有效的,如果在第一次調用的時候改變了這個變量的值,那么在第二次調用的時候,這個變量的值是被改變過的值。

如果被定義在類中,那么這種改變也是有效的,就是作用域發生了改變。一個在方法中,一個在類中。

  1.   atomic和nonatomic 

nonatomic是告訴系統不要使用mutex(互斥)鎖定。這種鎖定會導致系統的性能低下,所以一般在多線程的時候使用atomic,平時多數用nonatomic。

  1.   @synthesize和@dynamic  
  2.   @synthesize will generate getter and setter methods for your property.  
  3.   @dynamic just tells the compiler that the getter and setter methods are implemented not by the 
  4. class itself but somewhere else (like the superclass)  
  5.   Uses for @dynamic are e.g. with subclasses of NSManagedObject (CoreData) or when you want to create an 
  6. outlet for a property defined by a superclass that was not defined as an outlet:  
  7.   Super class: 

C代碼

  1.   @property(nonatomic, retain)NSButton* someButton;  
  2.   ...  
  3.   @synthesize someButton;  
  4.   @property(nonatomic, retain)NSButton* someButton;  
  5.   ...  
  6.   @synthesize someButton;  
  7.   Subclass:  
  8.   C代碼  
  9.   @property(nonatomic, retain)NSButton* someButton;  
  10.   ...  
  11.   @dynamic someButton; 

小結:關于Objective-C中一些關鍵字 學好必知的內容介紹完了,希望本文對你有所幫助!

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

2011-07-19 13:49:19

Objective-C 數據類型

2011-08-01 11:49:05

Objective-C

2011-08-04 13:55:10

Cocoa Objective- 文件

2013-07-10 11:31:10

iOS面試題Objective-CiOS開發

2012-01-18 10:13:50

Objective-CiOSself

2009-08-13 09:49:16

C#關鍵字

2013-08-26 14:58:48

App Store關鍵字優化App營銷

2013-08-26 15:19:44

應用商店AppStore關鍵字選取

2011-08-10 18:07:29

Objective-C反射

2013-06-20 10:40:32

Objective-C實現截圖

2013-03-27 12:54:00

iOS開發Objective-C

2011-05-11 11:20:26

Objective-C

2011-05-11 15:58:34

Objective-C

2009-08-21 14:58:56

C# this關鍵字

2009-09-02 09:24:03

C# this關鍵字

2009-06-22 15:36:00

如何學好java

2025-01-07 07:20:00

C++代碼開發

2011-05-11 13:54:08

Objective-C

2011-05-11 15:45:50

內存管理Objective-C

2011-08-02 13:16:36

Objective-C 語法 函數
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲欧美综合精品久久成人 | 亚洲成人精选 | 天天干天天操天天爽 | 日韩精品一区二区三区在线播放 | 波多野结衣一区二区三区在线观看 | 国产在线观看一区二区三区 | av一二三四 | 精品福利一区 | 国产精品国产成人国产三级 | 精品免费视频 | 伊人伊人网 | 国产精品国产亚洲精品看不卡15 | 日本人和亚洲人zjzjhd | 欧美三级三级三级爽爽爽 | 亚洲欧美国产精品久久 | 中文字幕成人在线 | 色综合av | 国产日产精品一区二区三区四区 | 日本免费小视频 | 国产一级视频免费播放 | 久久精品国产亚洲一区二区三区 | 91精品国产91久久久久久 | 国产一在线观看 | 日韩一区在线观看视频 | 欧美精品一区二区三区视频 | 91欧美| 久久999 | 一本一道久久a久久精品蜜桃 | 国产一区中文 | 免费成人高清在线视频 | 青青草一区二区 | 久久久免费 | 1204国产成人精品视频 | 国产精品一区二区在线观看 | 精品国产精品国产偷麻豆 | 日韩国产免费 | 色视频在线免费观看 | 成人国产免费视频 | 国产视频三级 | 国产特黄一级 | 亚洲精品中文字幕在线观看 |