0
我正在使用Xcode版本4.6。在我製作的iPhone和iPad應用程序中,我製作了一個名爲dealCard的功能。那就是:爲什麼我的函數不會改變我的外部變量的值?
- (void)dealCard : (UIImageView *)cardImage : (int)card : (int)suit : (BOOL)aceBool : (int) cardValue : (int)total
{
suit = arc4random() % 4;
card = arc4random() % 13;
if (suit == 0)
{
//set images
if (suit == 1)
{
//set images
}
if (suit == 2)
{
//set images
}
if (suit == 3)
{
//set images
}
if (card < 10 && card != 0)
{
NSLog(@"Setting cardValue");
cardValue = card+1;
}
else if (card != 0)
{
NSLog(@"Setting cardValue");
cardValue = 10;
}
else
{
NSLog(@"Setting cardValue");
aceBool = YES;
if (total + 11 <= 21)
{
cardValue = 11;
}
else
{
cardValue = 1;
}
}
total = total + cardValue;
NSLog(@"Total = %d cardValue = %d",total,cardValue);
NSLog(@"playerTotal = %d playerCard3Value = %d",playerTotal,playerCard3Value);
}
進一步下跌的一頁,我把:
[self dealCard: playerCard3Image : playerCard3 : playerSuit3 : playerCard3ace : playerCard3Value : playerTotal];
我的問題是在cardValue。輸出顯示「設置cardValue」,然後實例變量編號都是正確的,但其他兩個都是錯誤的。 playerTotal讀取此卡發放前的總數,並且playerCard3Value讀數爲0.要給你一些上下文,當第一張或第二張牌被髮出時,而不是第三張和第二張牌被調用時,該函數被調用。前兩個不在函數中處理。有誰知道爲什麼會發生這種情況?
請問這是由於變量的範圍是什麼? – PsyKzz 2013-03-06 23:49:38
@Matt PsyK - 如何讓他們成爲全球?我只是在.h文件中聲明它們:'int playerCard3Value;' – 2013-03-06 23:52:58
不幸的是,我不知道obj-c或xcode足以發表評論。 – PsyKzz 2013-03-06 23:56:46