菜鸟教程小白 发表于 2022-12-12 14:52:21

ios - 应用程序中首次使用教程的最佳设计/模式?


                                            <p><p>背景:</p>

<p>我有一个有 5 个标签的应用。用户第一次导航到每个选项卡时,我想展示一个一次性的“教程”。我打算通过创建一个“TutorialViewController”来处理这些“教程” View 的显示,并有下一步/后退等按钮...</p>

<p>问题:
我不确定用于实现是否显示这些屏幕并实例化“TutorialViewController”以显示它们的逻辑的最佳模式。目标是有一行代码(单个方法调用),如果需要,可以显示教程。我试图避免跨 5 个 ViewController 的代码重复。问题是在哪里/如何实现这个单一的方法。作为 TutorialViewController 上的类方法?作为一个全局 C 函数? </p>

<p>我考虑过的事情:</p>

<p>1) 在 TutorialViewController 上实现一个名为“displayTutorialIfNecessary”的类方法。在这种情况下,每个有教程的 ViewController 都会从它们的“viewDidAppear”方法中调用这个类方法。此类方法将检查教程是否已经显示,如果没有,它将实例化一个 TutorialViewController 对象来处理以显示它。在这个选项中,我想我必须从每个调用 ViewController 传递“self”,并且类方法将使用它来显示 TutorialViewController。 </p>

<p>2) 在 TutorialViewController 上实现一个名为“tutorialShouldBeDisplayedForScreen:”的类方法。在此选项中,每个调用 ViewController 都会调用此方法,如果它返回 true,则每个 vc 都会实例化并呈现用于显示教程的“TutorialViewController”。</p>

<p>我确信存在适合这种情况的“最佳实践”或模式,但我不确定最佳实现是什么。提前感谢您的建议。</p>

<p>总结:而不是在每个 ViewController 中都有这样的东西:</p>

<pre><code> if ()
{
   TutorialViewController *myTutorialVC = [ init];
   ;
}
</code></pre>

<p>我想要更像这样的东西:</p>

<pre><code> ;
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>将教程显示的状态存储到 <code>NSUserDefaults</code> 并使用 <strong>工厂方法设计模式</strong> 让您需要的每个 UIViewController 创建并返回教程 <code>UIViewController</code> 喜欢:</p>

<pre><code>- (UIViewController *)tutorialVC {
   return [ init];
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 应用程序中首次使用教程的最佳设计/模式?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/19006910/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/19006910/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 应用程序中首次使用教程的最佳设计/模式?