iOS 靜態全域性變數

2021-06-28 04:45:50 字數 938 閱讀 5716

xcode6之前我們可以將靜態全域性變數放在pch(precompile prefix header)檔案裡。

#define myglobalstringvalue @"static string value"

但在xcode6已經不提倡使用pch檔案了,雖然可以手動新增pch檔案。

下面介紹一種objective-c靜態全域性變數的實現方法。

首先,建立工具類,如:

myglobalparam

,其中包含一些類方法。

myglobalparam.h檔案:

#import @inte***ce myglobalparam : nsobject

+ (nsstring *)getstringvalue;

+ (int)getintvalue;

@end

myglobalparam.m檔案

#import "myglobalparam.h"

@implementation myglobalparam

+ (nsstring *)getstringvalue

+ (int)getintvalue

@end

現在,其他類裡可以通過上面建立的工具類來獲取全域性變數啦!

引入標頭檔案:

#import "myglobalparam.h"

獲取全域性變數:

nslog(@"print string value - %@", myglobalparam.getstringvalue);

nslog(@"print int value - %d", myglobalparam.getintvalue);

全域性變數和靜態全域性變數

全域性變數和區域性變數是從變數的作用域的角度劃分。靜態變數和動態變數是從變數的記憶體分配的角度劃分。全域性變數本身就是靜態儲存方式,靜態全域性變數當然也是靜態儲存方式。這兩者在儲存方式上並無不同,區別在於非靜態全域性變數的作用域是整個源程式,當乙個源程式由多個原始檔組成時,非靜態的全域性變數在各個原...

c 全域性變數 靜態全域性變數

全域性變數是靜態儲存方式,靜態全域性變數也是靜態儲存方式,這兩者在儲存方式上並無不同。區別 雖在於非靜態全域性變數的作用域是整個源程式,當乙個源程式由多個原始檔組成時,靜態全域性變數在各個原始檔中都是有效的。靜態區域性變數則限制了其作用域,只在定義該變數的原始檔內有效,在同一源程式的其它原始檔中不能...

C 全域性變數 靜態全域性變數 靜態區域性變數

全域性變數儲存在靜態儲存區,其作用域是全域性作用域,生命週期是整個程式的生命週期。具體而言,在乙個檔案中定義乙個全域性變數,在程式的其它檔案中可以通過extern關鍵字再次宣告說明該變數已經定義。靜態全域性變數儲存在靜態儲存區,其作用域只能是定義該變數的檔案,生命週期是整個程式的生命週期。靜態區域性...