2012-03-07 49 views
-1

我有值我想在一個數組動態加載,這裏的例子讀INT動態數組

首先,我在我的初始化定義3個不同的值,然後在我的陣列我希望它確定哪些值可以讀取。例如: 首先,我定義的值

int value1=20 
int value2=40; 
int value3=60; 

然後我定義我的數組另一個INT稱爲valueToLoad,和我給他們每個人一個號標籤。我希望單個數組項目根據它們的數字標籤讀取不同的值,以便項目1將讀取值1,項目2將讀取值2等等。我嘗試下面的方法來的NSString轉換成INT:

NSString *valueVariable=[NSString stringWithFormat:@"value%d",i]; (i being the number tag) 
int valueToRead = [valueVariable intValue]; 

不幸的是,這種轉換不支持任何其他東西轉換除非這個字符串是實際的整數。 但是我不希望運行的IF語句做:

if(tag==1) 
{ int valueToLoad= value1;} 

對於誰不明白。我只是想根據數組的數量讀取數組中不同的Int值。我們假設我有3個數組命名爲A,B和C的項目。我希望項目A讀取值1,項目B讀取值2等等。

+0

你的問題很難理解。你能否試着解釋你爲什麼試圖做你正在做的事情? – 2012-03-07 17:35:46

+1

你有沒有試過NSDictionary。我不是什麼你的目的,但似乎NSDictionary更適合你正在做的事情。 – Canopus 2012-03-07 17:37:05

+0

嗯......只是試圖讀取基於數組數量的數組中不同的Int值。我們假設我有3個數組命名爲A,B和C的項目。我希望項目A讀取值1,項目B讀取值2等等。 – Bek 2012-03-08 02:15:11

回答

2

你爲什麼不乾脆做類似

int values[] = {20,40,60}; 

... 

int valueToRead = values[i]; //or i-1, depending if i starts from 0 or 1 

+0

謝謝,這個作品像魅力! – Bek 2012-03-08 05:01:58

0

不確定問題的背景,但爲什麼不使用NSDictionary? 這樣,你可以存儲你的電話號碼標記爲關鍵,你的值改爲價值...

你填寫你的字典是這樣的:

NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys:value1, tag1, value2, tag2, nil]; 

使用閱讀你的價值:[dict objectForKey:tag1];

0
  • 您可以使用一個數組,將變量存儲在那裏,並將其編入索引。
  • 您可以使用字典,將變量存儲爲值,然後按鍵查找它們。
  • 您可以將所有變量聲明爲@property,然後使用[self valueForKey:]按名稱查找它們。
  • 您可以將字符串的名稱構建爲字符串,然後使用類似object_getInstanceVariable()的方式直接檢索它的值(這與#3類似,但不必將其聲明爲@property) 。
  • 如果您正在處理視圖,可以爲每個視圖分配一個唯一標記,然後通過[superview viewWithTag:aTag]檢索它。 編輯:請注意,這隻適用於實例變量。這不適用於全局/靜態變量。

了來自:Objective C Equivalent of PHP's "Variable Variables"