簡體   English   中英

為什么不分配我的變量

[英]Why isn't my variable being assigned

好吧,我認為我對目標c中屬性的理解可能不是我想象的那樣。

在我的程序中,我有一個包含我班級的單身人士。

在我的課程中,我在初學者中將一個值從單身人士分配給我的財產。

然后我為該屬性的屬性賦值。

但是它不保留值,當我對單例中的值進行比較時,沒有任何改變。 這里發生了什么? 有任何想法嗎?

@interface MainGameLoop : NSObject {
    MapData *mapData;
}

@property (retain) MapData *mapData;

-(id) init
{
    self = [super init];
    GlobalVariables *sharedManager = [GlobalVariables sharedManager];
    self.mapData = sharedManager.mapData;   
    return self;
}

在我的班級的功能:

作品:

sharedManager.mapData.currentPlayer = newCurrentPlayer;

什么也沒做:

self.mapData.currentPlayer == newCurrentPlayer;
self.mapData.currentPlayer == newCurrentPlayer;

你確定你想要兩個相同的標志嗎? 該語句在語法上是正確的,並將評估為true或false。

==是一個布爾運算符,而=是賦值運算符。 就像Dave所說的那樣,如果你使用if語句(例如if (self.mapData.currentPlayer == newCurrentPlayer) {…} ,你會想要使用==因為它會評估為truefalse ,而=將被使用設置變量的值,這是我認為你要做的。

如果有任何安慰,那么我犯了太多次錯誤......

我所做的是使用NSLog()printf()來確保每個步驟都正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM