0

tableView 以外のメソッドでどの tableView が使用されているかを判断するために、このコードにどのようにアクセスしますか?

メソッドで使用する方法は知っていますが、作成したtableView:numberOfRowsInSection:メソッドでどのようにアクセスしますか?

UITableViewtableViewの代わりに使用しますか?

-(void)myMethod {

    if ([tableView isEqual:self.tableViewNode])
        {

        }
        if ([tableView isEqual:self.tableViewCities])
        {

        }

}

tableView が scrollViewDidEndDecelerating: であるかどうかを確認してから、アクションを実行します。

    - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {

//    NSLog(@"scrollViewDidEndDecelerating");

    if ([UITableView isEqual:self.tableViewNode])
    {
        float endScrolling = scrollView.contentOffset.y + scrollView.frame.size.height;
        if (endScrolling >= scrollView.contentSize.height)
        {
            index ++;
            [self getFeed:index];
        }
    }
    if ([UITableView isEqual:self.tableViewCities])
    {

    }


}
4

1 に答える 1

1

メソッド内で、引数をテーブル ビュー プロパティとUIScrollViewDelegate比較できます。scrollView

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    if (self.firstTableView == scrollView) {
        // respond to firstTableView scrolling
    }
    else if (self.secondTableView == scrollView) {
        // respond to secondTableView scrolling
    }
}

デリゲート メソッドによって呼び出されるテーブル ビューのデリゲートにメソッドを実装する必要があるが、呼び出し元のメソッドを呼び出したテーブル ビューに基づいて動作が異なる場合は、それらのメソッドがテーブル ビュー パラメーターを取り、常にテーブル ビューを渡すようにする必要があります。デリゲート メソッドを呼び出すときの引数。これらのメソッド内で、プロパティと比較tableViewします。

- (void)myMethod:(UITableView *)tableView
{
    if (self.firstTableView == tableView) {
        // do something for firstTableView
    }
    else if (self.secondTableView == tableView) {
        // etc
    }
}

myMethod:たとえば、から呼び出す必要がある場合はtableView:didSelectRowAtIndexPath:、次のようにします。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    [self myMethod:tableView];
}
于 2013-09-21T14:11:08.883 に答える