objective-c中的static
? ?在方法之外定義的變量不僅是全局變量,還是外部變量.但是很多場合,我們只需要定義為全局變量,并不是外部變量.也就是說希望定義的全局變量只在特定文件中是全局的,這個變量也只有在特定的類中的方法能訪問,再也沒有其他方法需要訪問這個變量了.
? ?這就引出了static.
? ?被static修飾過的變量,在本文件中可以訪問,在別的文件則不能.
? ?在Objective-C中的static并不是像JAVA中那樣好用.
? ?在Objective-C中如何實現像Java中那樣的靜態成員變量呢?在java里只需要定義static就行了.
? ?在OC中你需要做的是在一個類A的implementation(.m或者.mm)文件中定義一個static變量,
? ?然后為A類定義靜態成員函數(也就是類方法)來操作該變量。這樣在其它類中你就不需要創建A類的實例來對static變量進行訪問。雖然該static變量并不是A類的靜態成員變量,但是也算達到了同樣的效果。static變量的作用域被限制在單一的文件中。代碼可以如下所示:
@interface Example : NSObject {
}
?
- (id)init;
+(int)instanceCount;?
@end
?
//example.m
#import "example.h"
staticint count;
?
@implementation Example
-(id)init{
? ? self = [super init];
? ? if(nil!=self){
? ? ? ? count+=1;
? ? }
? ? returnself;
}
?
+(int)instanceCount{
? ? return count;
}
?@end
?
上面的例子中你就可以通過[Example instanceCount]對靜態變量count進行訪問,無須創建實例。
轉載于:https://www.cnblogs.com/mohe/archive/2013/03/13/2946894.html
總結
以上是生活随笔為你收集整理的objective-c中的static的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【F12一下,看看页面里的第一行】——说
- 下一篇: freeware