0

私は2つのViewControllerを持っています。1 つにはテーブルビューが含まれます。didselectrowforindexpath メソッドで、オブジェクトを別のビュー コントローラーに送信したいのですが、目的のビュー コントローラーに渡されるとオブジェクトが null になります。

送信するオブジェクトは、TableServiceNews クラスに属する service_ID です。宛先ビューコントローラーは TableServiceNews を継承します。

didselectrow のコードは次のとおりです:-

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{
    TableServiceNews *serviceTable = [[TableServiceNews alloc]init];
    serviceTable.service_ID = [ServiceID objectAtIndex:indexPath.row];
    serviceTable = [self.storyboard     instantiateViewControllerWithIdentifier:@"navigationServiceNews"];
    [self.slidingViewController anchorTopViewOffScreenTo:ECRight
        animations:nil onComplete:^{
        CGRect frame = self.slidingViewController.topViewController.view.frame;
        self.slidingViewController.topViewController = serviceTable;
        self.slidingViewController.topViewController.view.frame = frame;
        [self.slidingViewController resetTopView];
    }];
}

slideviewcontroller メソッドは、github から取得したクラスを使用しています。 https://github.com/edgecase/ECSlidingViewControllerがリンクです。

4

2 に答える 2

0

service_ID が実装 (@synthesize) で定義されていることを確認してください。機能しない場合は、新しいビューコントローラーをプッシュして最初にロードした後に値を割り当ててください。お役に立てば幸いです

于 2013-09-11T11:44:27.340 に答える