我一直在環顧四周,並沒有完全發現這樣做,我不確定它是否有可能,但這是我正在努力實現的目標。請注意,我給出了一個非常簡單的例子,我正在嘗試做什麼。還有,發佈代碼的相似性都是假設的,並不意味着要糾正代碼語法。它只是用來幫助進一步說明通過引用類似功能所需的最終結果。所以請在提供替代方法之前瞭解這個概念...通過字符串名稱或變量訪問objective-c對象
與這樣說,因爲標題說我想看看我是否可以訪問一個對象,讓我們通過它的字符串名稱或變量說一個uilabel 沒有使用if語句的。所以舉個例子,假設我們有3個uilabes
UILabel *label1;
UILabel *label2;
UILabel *label3;
從那裏我們做所有適當的綜合和什麼不是。現在在某個時候我想引用一個基於let say和int的標籤。
int intNumber = 2;
這裏是理論部分。我想現在設置名稱中具有匹配的int值的標籤的文本。
label(%i, intNumber).text = [NSString stringWithFormat:@"This is Label %i", intValue];
那麼結果會是...
label2.text = @"This is Label 2";
如果int值是1,則LABEL1就會改變。或者如果它是3,那麼標籤3將被改變,等等......
或者如果使用標籤的字符串名稱可以完成相同的過程。
int intValue = 1;
NSString *labelName;
然後在某個點
labelName = [NSString stringWithFormat:@"label%i",intValue];
現在不知何故通過引用「標籤」來稱呼它設置Label1文本。如果任何人可以提供一個建議或評論,甚至可以做到這一點,這將不勝感激。我知道你可以通過字符串名稱引用類和選擇器,但我不確定對象是什麼?我不知道「valueForKey:」是我應該如何去做的方式?
很抱歉,這篇冗長的帖子,但我只是想確保我說明了我想做的事情。
對不起,夥計們,我真的明白了。因爲我是堆棧溢出的noob,我無法回答我自己的問題。一旦我能夠,我會用示例代碼發佈答案。再次感謝... – DoS 2012-04-21 18:27:00
[目標C等效於PHP的「變量變量」]的可能重複(http://stackoverflow.com/questions/2283374/objective-c-equivalent-of-phps-variable-variables),http: //stackoverflow.com/questions/2231783/create-multiple-variables-based-on-an-int-count/,http://stackoverflow.com/questions/7940809/syntax-help-variable-as-object-name , – 2012-04-21 18:35:00
是的,它很相似,但顯然不是正確的答案。 – DoS 2012-04-23 22:35:20