菜鸟教程小白 发表于 2022-12-13 10:46:13

ios - 在 viewDidLoad 中编写代码会违反 MVC 架构吗?


                                            <p><p>我在一个客户项目中工作。我在 <code>ViewDidLoad</code> 中编写了很多 View 自定义代码。我有用于数据存储和访问的模型。
该项目运行良好。他们聘请了一位新的 iOS 开发人员,他说该代码不符合 MVC 架构。对方问为什么?他说 View 是在 <code>viewDidLoad</code> 内部创建的,它是 Class 的 Controller ,因此它不是可接受的代码。当它的真正动态 View 无法使用 Storyboard创建时,我们应该怎么做。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我的回答是<strong>否</strong></p>

<p>来自苹果文档</p>

<blockquote>
<p>Controller Objects</p>

<p>A controller object acts as an intermediary between one or more of an application’s view objects and one or more of its model objects. Controller objects are thus a conduit through which view objects learn about changes in model objects and vice versa. Controller objects can also perform setup and coordinating tasks for an application and manage the life cycles of other objects.</p>
</blockquote>

<p>我认为 Controller 有责任管理 View 的外观。</p>

<p>在<code>viewDidLoad</code>中,最好在这里写<strong>一次性</strong> View 自定义代码。</p>

<p>但是如果你在一个 View 中写了很多配置代码。我认为最好使用 UIView 的子类。这使您的代码清晰且易于调试和维护。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 在 viewDidLoad 中编写代码会违反 MVC 架构吗?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/30367431/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/30367431/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 在 viewDidLoad 中编写代码会违反 MVC 架构吗?