我有一個靜態變量,我想從另一個類在同一個項目中訪問X代碼。我已經在.h文件和.m文件中聲明它,給它一個值,然後當我訪問另一個類時,我收到一條錯誤消息,說:靜態變量不能從另一個類訪問
「Property'xx'not found on 「yy」類型的對象
我在.h中聲明變量爲extern,並將其重新聲明爲.m中的變量類型。我試圖在.h中將其更改爲static,但它仍然無效。是的,我已經導入了包含變量的文件,以防出現問題。
任何人都可以幫助我嗎?
編輯:
這是我目前使用的代碼:
source.h
static int anObject;
@interface source : NSObject
source.m
static int a = 2
@implementation source
destination.m
# include "source.h"
@implementation destination
- (void) anObjectTestFunction
{
printf("%d", source.anObject); //the first version
printf("%d", anObject); //second version
}
現在經過我去了第二個版本
,變量anObject在destination.h可以被訪問,但其價值是不2,它是0。我希望它按照一個我在source.h中聲明。
聽起來像你試圖訪問一個全局變量,就好像它是一個對象的屬性。只需輸入變量名稱即可。但是,粘貼一些代碼並且幫助你會容易得多。 – MechEthan
是什麼讓你覺得'anObject'應該設置爲2?你還沒有設置任何東西。在你的.m文件中,你設置了'a = 2',我期望它是2.'anObject'從我的例子中看不到,因爲它是一個整數,它將是0. – Joe