gpt4 book ai didi

objective-c - 从不同的 View Controller 访问属性

转载 作者:行者123 更新时间:2023-11-28 22:42:14 25 4
gpt4 key购买 nike

我在我的一个 View Controller 中声明了这样的属性:

@property (nonatomic, retain) MPMusicPlayerController *musicPlayer;

如何从其他 View Controller 访问此属性?请记住,我使用的是 Storyboard,而不是以编程方式加载 View 。

我对此有点陌生..谢谢。

详细信息

我的 Root View Controller 中嵌入了一个包含该属性的 TableViewController。然后我有另一个从 Root View Controller 推送的 View Controller 。推送此 View 时,我希望调用 [musicPlayer play],但现在它无法识别 musicPlayer。

最佳答案

您需要从其他 Controller 获取对具有 musicPlayer 属性的 View Controller 的引用。你如何得到它取决于两个 Controller 是如何相关的。一个在介绍另一个吗?一个推另一个吗?一个是另一个的 child 吗?这些不同的关系需要不同的方式来访问另一个 Controller 。您需要提供更多关于您的应用程序结构的信息,以便我更全面地回答。

编辑后:

实现 prepareForSegue 以便您可以将信息传递给呈现的 View Controller :

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
TriggerViewController *dvc = (TriggerViewController *)segue.destinationViewController;
dvc.tableViewReference = segue.sourceViewController.childViewControllers[0]
}

这里的 tableViewReference 是您尝试访问 musicPlayer 的 Controller 中的一个属性(tableViewReference 应该属于 TriggerViewController 类)。然后,在那个类中你可以这样调用 play:

[tableViewReference.musicPlayer播放];

关于objective-c - 从不同的 View Controller 访问属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14206160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com