2015-05-17 101 views
-1

我有10張圖片命名爲0.png到9.png,也是一個隨機化給我這10設置特定圖像的UIImageView

和幸福之間的隨機數取決於數量的隨機化給了我,我想設置我的UIImageView與該圖像。

我的想法是做這樣的:

[image setImage:[UIImage imageNamed: @"%d.jpg", currentQuestion]]; 

由於這工作得很好,當我用隨機數這樣的設置NSLog全文:

NSLog(@"Some Text %d", currentQuestion); 

然而,當我試圖設置圖像我得到這個錯誤:

Too many arguments to method call, excepted 1, have 2

回答

1

你應該使用下面的代碼instea d:

[image setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%d.jpg", currentQuestion]]]; 

的事情,+imageNamed:只有一個參數,你應該建立它作爲格式化字符串,而NSLog可以採取可變數目的參數

而且你說你有0.png9.png但構建圖像名字使用jpg。請檢查分機號碼

2

首先,如@Azat所說,您應該使用一個特定NSString作爲imageNamed:方法的參數。

此外,一個更好的方式來實現這一目標可以使用NSArray來存儲這些候選圖像的類似名稱:

NSArray *imageNames = @[@"1.png", @"2.png", @"3.png"]; 

然後,你可以使用隨機數作爲圖像名稱數組的索引而不是自己構建圖像名稱。

[image setImage:[UIImage imageNamed:imageNames[currentQuestion]]] 

一個做這種方式的好處是,你不需要即使成像的名字改爲修改代碼,只圖像名稱數組中更改名稱。

相關問題