2011-07-28 67 views
1

我在我的viewController中使用UISegmentedControl。選中一個片段後,我希望Table的數據從NSFetchedResultsController(已經設置)加載,並從另一個片段中,我想要從數組加載數據。使用UISegmentedControl委託無法訪問UITableView數據源方法

我在這裏

- (void)segmentedControl:(SVSegmentedControl*)segmentedControl didSelectIndex:(NSUInteger)index 

使用段的委託方法這裏的問題是,我似乎無法存取權限使用段的委託的tableView數據源的方法。

例如,如果在didSelectRowAtIndexPath方法中,我可以執行類似if(selectedSegment == 1),然後是xxxxx的方法。

有誰知道我該怎麼做?

我想推到不同的視圖時,根據段選擇一行。

回答

1

假設你已經將你的分段控件合成爲一個屬性,你當然可以從你的tableView數據源方法中訪問它。

例如,如果你的段被稱爲userSegment你只是做

self.userSegment.selectedSegmentIndex 

,然後相應地進行。例如if(self.userSegment.selectedSegmentIndex == 0) {...} else {...}。您也可以使用此索引執行多種方法。查看文檔。一個簡單的例子:

NSString *selectedTitle = [self.userSegment titleForSegmentAtIndex:self.userSegment.selectedSegmentIndex]; 

這只是一個簡單的例子,但問題是,你可以輕鬆地使用段的狀態,有條件地填充您的tableView數據源。

編輯:selectedSegmentIndex和其他屬性,你可以使用方法的詳細信息,請參見UISegmentedControl Class Reference

+0

我忘了修改上面粘貼的代碼來反映我的例子。 iVar的名字現在應該都是真實的。 – Murdock