[英]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) {…}
,你會想要使用==
因為它會評估為true
或false
,而=
將被使用設置變量的值,這是我認為你要做的。
如果有任何安慰,那么我犯了太多次錯誤......
我所做的是使用NSLog()
或printf()
來確保每個步驟都正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.