gpt4 book ai didi

ios - 保存或返回到以前的 iOS 场景

转载 作者:行者123 更新时间:2023-11-28 20:04:34 25 4
gpt4 key购买 nike

我有一个 iOS 应用程序正在运行, Storyboard中有 3 个 View Controller 。第一个(初始 View )具有播放按钮以启动音乐流和当前播放歌曲的专辑封面图像。这个场景有一个导航 Controller 和一个条形按钮,可以引导用户到下一个 View ...

一个 ListView ,其中填充了用户可以选择的硬编码流。非常简单并且仍然可以正常工作。

选择一个后,用户会进入一个预览页面,在开始播放之前告诉他们有关流的信息。在他们想从这里继续之前,仍然像魅力一样工作。

如果用户从预览页面选择流,应用程序“应该”将用户返回到初始 ViewController 并换出所选流的播放流。起初,我错误地创建了初始 viewController 的新实例,在修复了这个错误之后,现在还有一些问题可能有人可以帮助我解决。

这是用于选择流的按钮的 IBAction:

- (IBAction)returnHome:(id)sender 
{
[[self navigationController] popToRootViewControllerAnimated:YES]; // goes back to first view on the stack
}

在找到这个逻辑之前,我正在使用 prepareForSegue 并将目标的流值设置为所选内容。我也试图保存第一个 View 的状态,但不确定如何将它传递下去(或保留它),因为我正在移动 3 个 ViewControllers 并使用模式转场,这样如果他们选择不选择,他们可以返回一个新的流。

任何建议都会有所帮助,但请不要简单地张贴引用文献的链接。我已经连续 3 天去那里了,他们在 iOS 引用文档中说的不是非常适合初学者的行话。

最佳答案

您希望能够通知您的第一个 VC 用户更改了轨道?您可以简单地使用 NSNotificationCenter。

首先你必须“调入”,即在 viewDidLoad 中,你的 View Controller 要收听特定的通知:

- (void)viewDidLoad
{
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(changeStream:) name:@"UserWantToChangeStream" object:nil];
}

和实现方法:

- (void)changeStream:(NSNotification *)notification
{
NSString *newStreamName = notification.object;
/* Change the stream code */
}

不要忘记停止收听通知:

- (void)dealloc
{
[[NSNotificationCenter defaultCenter] removeObserver:self];
}

然后您在用户执行操作后发布通知:

[[NSNotificationCenter defaultCenter] postNotificationName:@"UserWantToChangeStream" object:@"new_stream_name"];

在示例中,我传递了 NSString new_stream_name 但您可以传递任何对象。

您的第一个 View Controller 将收到通知。

关于ios - 保存或返回到以前的 iOS 场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22514270/

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