2010-08-13 61 views
0

假設我有5個UIImageView,名爲 image1 image2 image3 image4 和image5。通過附加具有可更改值的通用名稱來標識對象名稱。這可能嗎?

我有5個按鍵,其中有設置爲疊加它們對應的圖像的標記數值,因此1 - 5

如果按下button 1,我得到像這樣

NSNumber buttonNumber = [sender tag]; 
標籤值

然後我想在相應的圖像(image1)上執行一些方法。但我想對所有按鈕使用相同的方法。

所以我的問題是,檢索標籤後,如何識別相應的圖像(在其名稱後帶有相同的數字)。該解決方案我到目前爲止,這是一個有點長篇大論,是使用一個開關:

UIImageView *image; 
     switch (buttonTag) { 
      case 1: 
       image = imageOverButton1; 
       break; 
      case 2: 
       image = imageOverButton2; 
       break; 
      default: 
       break; 
// etc 
     } 

但這似乎並不很優雅。如果它是一個字符串我當然可以使用

stringWithFormat:@"imageOverButton%i", buttonTag 

那麼是否存在對象的等價操作?

我知道我也可以將按鈕的背景圖像設置爲我想要的圖像,並從發送者中提取imageData,但我寧願按照上述方式進行這種操作,原因有很多。我想我也可以將UIImageView添加到數組中,並使用標籤提取相關對象。

謝謝! :d

邁克爾

回答

0

我想你回答了你自己的問題 - 用一個數組來保存您的UIImageViews和使用標籤作爲索引到該數組。

編輯,在我的評論摺疊:你的對象的名稱是不通過 - 你不能說NSObject foo;,然後能夠引用它與一些查找使用@"foo",除非你明確做一個數組映射名稱的對象。見another answer我給了類似的問題。

+0

大聲笑,好吧,只是認爲可能有一種方法來檢索一個對象名稱,而沒有全名,但通過連接它與另一個字符串/ int /對象名稱... – Smikey 2010-08-13 11:59:53

+0

這可能有所幫助:http:// stackoverflow。 COM /問題/ 2750993 /名稱的-UIView的 - 即,在觸摸/ 2751034#2751034 – 2010-08-13 12:22:37

相關問題