【问题标题】:Should new iOS developers use Storyboard and Xibs/Nibs?新的 iOS 开发者应该使用 Storyboard 和 Xibs/Nibs 吗?
【发布时间】:2012-06-20 17:21:21
【问题描述】:

我是一位经验丰富的 C/C++ Windows 开发人员,正在编写我的第一个真正的 iOS 应用程序。因为我真的不必担心向后兼容性,所以我决定加入并使用 XCode 4.3 中的新 Storyboard 功能。我发现,虽然故事板承诺在不编写任何代码的情况下布置应用程序中的所有屏幕,包括转场和手势,但现实情况是,除了最琐碎的程序之外,任何其他程序在运行时都不起作用他们,通常会毫不客气地失败并显示非常无用的错误消息。更糟糕的是,您无法单步执行代码来查看问题所在,因为没有代码。

所以我的问题是:一个新的 iOS 开发者是否应该按照this article 的建议一开始就在没有 Interface Builder 和 Nibs 和 Storyboard 的情况下进行开发?

2020-04-03 更新: 看起来 SwiftUI 很好地弥合了这个鸿沟,并且可能会成为未来构建 iOS 应用程序的方式。在 SwiftUI 中,您确实需要逐步执行代码,它会在 Xcode 中为您提供实时反馈,显示您的应用程序在运行时的外观。在撰写本文时,我一直很喜欢一个很棒的 free 100 day course(无从属关系),其中包括对 Swift 的介绍。推荐。

【问题讨论】:

    标签: swift interface-builder swiftui uistoryboard nib


    【解决方案1】:

    是的!您绝对应该使用 Storyboards 来构建您的应用程序。 Interface Builder 的优点之一是它不会抽象出底层概念——您仍然可以使用与代码中相同类型的对象(UIViewController、UIView 等)。

    这让您仍然可以了解 UIKit 的工作原理,同时体验使用工具构建 UI 的好处。

    去年有一个 WWDC 演示文稿概述了在您的应用中使用 Storyboard 的基础知识:

    https://developer.apple.com/videos/wwdc/2011/?id=309

    【讨论】:

    • 我愿意相信这一点,但一方面故事板看起来像是一个 Beta 产品,非常有缺陷。示例:我创建了一个新的故事板主视图控制器项目。将弹出表视图更改为静态,在 4 个部分中输入静态字符串。仅显示第一节标题,运行程序时不显示其他字符串。正如另一位发帖人评论的那样,有时故事板需要duct tape 才能工作。当它甚至无法正常运行时,即使是胶带也无济于事。
    • @stephmur 真不幸。模板中的表视图控制器有一个子类,它覆盖表视图数据源方法来填充它。当您将表格视图切换为静态时,覆盖仍然存在。这导致静态表视图的数据源被否决。
    • 你能想到这一点真是太酷了。如果从一开始就没有您的知识深度,我如何学习如何使用 Storyboard?你能推荐一些好的资源或书籍吗?
    • 视图控制器编程指南是一个很好的资源:@​​987654323@,故事板上的 WWDC 2011 和 2012 视频也是如此。
    【解决方案2】:

    这是相当主观的,但我绝对同意。如果您想了解 iOS 的工作原理,请先明确地启动 UI 代码。界面生成器对于快速准确地定位元素很有用,但就像文章中提到的那样,在您了解视图和控制器如何协同工作后,您的工作效率会大大提高。

    【讨论】:

    • 抱歉更改我接受的答案。我希望我能同时接受它们,因为故事板似乎并不像看起来那么简单,所以现实情况是,我可能会同时做这两件事:提高我的一般知识并将其应用到我对故事板的使用中。
    • 我有一个 book 声称可以教授这两种方法,所以如果我坠入爱河,我会告诉你的。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-09
    • 2012-07-26
    • 2012-02-11
    • 1970-01-01
    • 2012-12-20
    • 1970-01-01
    • 2023-03-28
    相关资源
    最近更新 更多