2015-09-19 57 views
0

我正在創建一個簡單的骰子游戲,現在我正在嘗試使用for循環來達到我的屬性。這有意義嗎?這是代碼,問題顯示在最後一行。從循環內容到達屬性

- (IBAction)throwDice { 
    //Create an array with the image objects 
    NSArray *diceNr = @[_dieOne, _dieTwo, _dieThree, _dieFour, _dieFive]; 

    //For each image object, get a random number 0-5 
    //and place the associated image for this number in the image object 

    for (id dices in diceNr) { 
     NSUInteger dieIndex = arc4random_uniform(6); 
     NSArray *diceValue = @[@"one", @"two", @"three", @"four", @"five", @"six"]; 
     NSNumber *dice = diceValue[dieIndex]; 
     self.dices.image = dice;   
    } 
} 
+0

的NSString *骰子= diceValue [dieIndex]; self.dices.image = [UIImage imageNamed:dice];但如果在數組中使用數字plz define array例如:NSArray * diceValue = @ [@ 1,@ 2,@ 3,@ 4,@ 5,@ 6]; –

+0

謝謝,但我的問題似乎是在詞骰子。以下是錯誤消息:在視圖控制器類型的對象上未找到屬性dices。我想爲diceNr數組中的每個對象改變「dices」,如果不是這樣,我該怎麼做? – maraki

+0

id替換爲對象的類型轉換和用戶代碼而不是self.dices –

回答

0

有在你的代碼的兩個問題:

  • NSString*值分配從diceValue數組變量NSNumber*dice
  • 您嘗試將字符串對象分配給image財產。

假設圖像"one"通過"six"在你的包,沒有文件擴展名,你應該能夠做到這一點:

UIImage *dice = [UIImage imageNamed:diceValue[dieIndex]]; 
dices.image = dice; 
+0

謝謝,我已經更改了NSString/NSNumber,但我想我的問題在dice中。以下是錯誤消息:在視圖控制器類型的對象上未找到屬性dices。我想爲diceNr數組中的每個對象改變「dices」,如果不是這樣,我該怎麼做? – maraki

+0

@maraki然後刪除'self.'。 – dasblinkenlight