我有一个UIViewController,其中要添加UITableView的子类作为子视图。

例如

 @interface ViewController : UIViewController

    @interface ItemList : UITableView


ViewController viewDidLoad中,我创建一个ItemListitemList)对象并将其添加到viewcontroller的视图中

- (void)viewDidLoad {
 ...
  [self.view addSubview:itemList];
}


didSelectRowAtIndexPathItemListUITableView中,我没有访问导航控制器的权限,那么如何将另一个viewcontroller推入navigationcontroller

@implementation ItemList
{
 ...
    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

        [self.navigationController pushViewController:newViewControllerobject animated:YES];

    }

}

最佳答案

在itemList类中创建一个属性,例如:ViewController *mydelegate
当您在View Controller viewDidLoad中添加项目列表时,添加以下内容

 itemList.myDelegate = self;

继续前进..确实选择了
 @implementation ItemList
@synthesize mydelegate;
    {
     ...
        - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

            [myDelegate.navigationController pushViewController:newViewControllerobject animated:YES];

        }

}

10-08 05:57