Objective-C 快速導覽 - static 變數

類別 (class) 中方法 (method) 所定義的變數 (variable) 都是區域變數 (local variable) ,這是說離開方法後變數便不能保存其值,若是使用 static 宣告, static 變數能持續保存其值,直到程式結束為止。



舉例如下
#import <Foundation/Foundation.h>

@interface Demo: NSObject

- (void) do_something;

@end

@implementation Demo

- (void) do_something
{
    static int a = 0;
    NSLog(@"%i", a++); 
}

@end

int main (int argc, const char * argv[]) {
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
 
    Demo *demo = [[Demo alloc] init];
    [demo do_something];
    [demo do_something];
    [demo do_something];
    [demo do_something];
    [demo do_something];
 
    [pool drain];
    return 0;
}

/* 《程式語言教學誌》的範例程式
   http://pydoing.blogspot.com/
   檔名:classdemo08.m
   功能:Objective-c 程式範例
   作者:張凱慶
   時間:西元 2013 年 4 月 */


編譯執行,結果如下



中英文術語對照
類別class
方法method
變數variable
全域變數local variable


您可以繼續參考
類別


相關目錄
Objective-C 快速導覽
Objective-C 教材
首頁



參考資料
Programming with Objective-C: About Objective-C
Programming with Objective-C: Working with Objects

沒有留言: