2011-03-10 16 views
0

所以我建立了一個UIPickerView來顯示不同的UITableView數據,具體取決於選擇哪個組件。該表由數組填充,pickerview基本上只是告訴表使用哪個數組。使用UIPickerView的選定行來確定要添加到哪個陣列

我希望用戶能夠將信息添加到每個單獨的數組,從而更改每個單獨的tableview。但是,即時通訊在我創建的IBAction中訪問PickerView行有點麻煩。

我有一個「添加」按鈕,它調用一個將用戶輸入添加到數組的IBAction。我遇到麻煩的地方是告訴動作哪個數組添加輸入。

這是我到目前爲止有:

-(IBAction)postToWall:(id)sender { 


[userInput resignFirstResponder]; 
NSString *userInputString; 
userInputString=userInput.text; 


[otherPosts addObject:[[NSMutableDictionary alloc] 
         initWithObjectsAndKeys:userInputString,@"post", @"Jeff.png",@"picture",nil]]; 

[wallTable reloadData]; 
[userInput setText:@" "]; 
[sendButton setEnabled:NO]; 

}

我的直覺是添加一個if語句,這基本上說:「如果pickerview行是0,然後加入到這個數組,」和「如果pickerview行是1,然後添加到該數組。」這可能嗎?我如何與pickerview交談並設置if語句?對不起,我有點新的東西。

謝謝你們真的很感激!

回答

0

我suggetion是,

使一個單一的陣列,它的工作原理數據源爲表view.When您選擇創建選擇器的陣列中的任何行用於顯示和調用數據源是指一些這樣的事,

申報.H

NSMutableArray *dataArray; 

一個陣列,使其性能和合成它

或Alloc它在viewDidLoad中,然後鬆開deallo C。

和選擇器查看委託

- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { 

    if(row==0) 
     { 
      [dataArray addObjectsFromArray:Array1]; 
     } 
    else 
    { 
     [dataArray addObjectsFromArray:Array2]; 
    } 

[self.table reloadData]; 
} 
+0

是的,這是我所做的。我所關心的是如何告訴我的IBAction將新對象添加到Array1或Array2。如果表格當前正在顯示來自Array1的信息,那麼我該如何將數據添加到Array1? – jeff 2011-03-10 08:29:46

+0

爲什麼要在array1或2中添加,請將其添加到dataArray中。 – Ishu 2011-03-10 08:35:31

+0

或者我有一個選項在.h文件中創建一個全局整型變量,它存儲選定的行號,並根據該選項可以將該對象插入相應的數組中。 – Ishu 2011-03-10 08:36:29

0

,如果我是你,我只需要添加currentArray變量來我的代碼和你個人的陣列,每次設置爲此currentArray當我PickerView變化值。

並使用[currentArray addObject:];在你的 - (IBAction)postToWall:(id)發件人方法