Objective-C –获取 UIViewController 参考

发布于 2025-01-01 10:20:49 字数 548 浏览 2 评论 0原文

我在试图找到一个风险投资家时陷入了困境。

我的应用程序布局如下所示:

TabBarController (holds a) -> Tab 1 的 UINavController (持有 a) -> MyOwnListViewController -> UINavController(模态)(持有 a)-> ItemAddViewController -> 项目添加视图控制器AddItemToItemViewController

也许这不是很清楚,所以为了清楚起见,当应用程序启动时,我位于选项卡 1 并且 MyOwnListViewController 可见,然后我按下导航栏中的 + 按钮,然后我以模态方式获取到 ItemAddViewController。从那里我推送ViewController AddItemToItemViewController。现在,在这个视图控制器中,我想获取对 ItemAddViewController 的引用。

获得参考的最简单方法是什么?

I'm way in deep water here trying to get ahold of a vc.

My App layout looks like this:

TabBarController (holds a) -> UINavController for Tab 1 (holds a) -> MyOwnListViewController -> UINavController (modally) (holds a) -> ItemAddViewController -> AddItemToItemViewController

Maybe that wasn't very clear, so for clarity, when the app starts I'm on tab 1 and the MyOwnListViewController is visible, then I push a + button in the navigation bar and I'm taken modally to the ItemAddViewController. From there I pushViewController AddItemToItemViewController. Now in this view controller I want to get a reference to ItemAddViewController.

What would be the easiest way to get a reference to it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

闻呓 2025-01-08 10:20:49

您可以修改 AddItemToItemViewController 的 init*** 方法并将其传递给 ItemAddViewController 上的引用。

EG:

在 AddItemToItemViewController.h 中:

@property (nonatomic, retain) UIViewController *parentController;

在 AddItemToItemViewController.m 中:

@synthesize parentController;

-(id) initWithParentController:(UIViewController *) controller{
    self = [super init];

    if(self){
        self.parentController = controller;
    }
    return self;
}

-(void) dealloc{
    [self.parentController release];
    [super dealloc];
}

在 ItemAddViewController 实例内调用控制器时:

UIViewController *controller = [[AddItemToItemViewController alloc] initWithParentController:self];
[self.navigationController pushViewController:controller animated:YES];
[controller release];

You could modify the init*** method of your AddItemToItemViewController and pass it the reference on your ItemAddViewController.

E.G :

In AddItemToItemViewController.h :

@property (nonatomic, retain) UIViewController *parentController;

In AddItemToItemViewController.m :

@synthesize parentController;

-(id) initWithParentController:(UIViewController *) controller{
    self = [super init];

    if(self){
        self.parentController = controller;
    }
    return self;
}

-(void) dealloc{
    [self.parentController release];
    [super dealloc];
}

When calling your controller inside your ItemAddViewController instance :

UIViewController *controller = [[AddItemToItemViewController alloc] initWithParentController:self];
[self.navigationController pushViewController:controller animated:YES];
[controller release];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文