2012-10-23 34 views
0

我有UITableView,每個單元格內都有一個選擇器視圖。用戶可以分別更改每個選擇器的值。數據傳遞到UITableViewCell裏面的UIPickerView

我需要知道哪個單元的pickerView被改變了。例如,當用戶移動選取器時,我會知道,這是單元3.

有沒有什麼辦法可以做到這一點?沒有必要獲得即時更改的值。我們可以將它存儲在數組上,而不是在與桌面視圖無關的Go按鈕點擊時發送。

+0

他們是'UIImagePickerControllers'被選中? – NSTJ

回答

0

我建議存儲一個指向你的選擇器視圖的數組。因此,數組的索引0將指向錶行0的選擇器視圖,等等。然後,確保您的視圖控制器是所有選取器視圖的代表。實施UIPickerViewDelegate協議聲明的pickerView:didSelectRow:inComponent:方法。該方法具有UIPickerView作爲參數的實例:這是值更改的那個實例。要獲取該選取器視圖的行,可以發送數組indexOfObject:方法。

0

創建一個UITableViewCell的子類。這個子類應該得到任何你想要更新的引用,然後它可以簡單地創建(或IBOutlet鏈接)到選擇器,併成爲選擇器的代表。

所以小區要有:

- (void) passStuff:(NSMutableDictionary *)datamodel key:(NSString *)key values:(NSArray *)values { 
    _privateWeakRefDataModel = datamodel; 
    _privateCopyKey = key; 
    _privateValues = values; 
    [picker reloadData]; 
} 

#pragma mark - Picker Delegate Code here 

這樣的細胞將處理直接更新你的數據模型。讓代碼更清潔。

相關問題