无法使用UISegmentedControl的委托访问UITableView数据源方法

时间:2011-07-28 01:28:12

标签: iphone cocoa-touch uitableview uisegmentedcontrol

我在viewController中使用了UISegmentedControl。如果选择了一个段,我希望从NSFetchedResultsController(已经设置)加载Table的数据,而我希望从数组加载数据。

我在这里使用段的委托方法

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

这里的问题是我似乎无法使用段的委托来访问tableView数据源方法。

例如,如果在didSelectRowAtIndexPath方法中,我可以执行类似if(selectedSegment == 1),然后xxxxx的操作。

有谁知道我该怎么做?

我希望在根据细分受众群选择行时推送到不同的视图。

1 个答案:

答案 0 :(得分: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