如何将 Apple API 文档翻译成实际代码?
How do I translate Apple API documentation in to real life code?
我发现在 Swift 和 Xcode 中学习新事物的这一方面非常 令人费解。
我似乎无法根据我在 Apple API 文档中阅读的内容来解读我需要编写的实际代码;在我的具体情况下:API Reference for 'PlaygroundSupport',以及我需要的实际代码,即:
import PlaygroundSupport
let containerView = UIView(frame: CGRect(x: 0.0, y: 0.0, width: 375.0, height: 667.0))
PlaygroundPage.current.liveView = containerView
对我来说,这似乎是 'hidden knowledge',我无法从 API 中占卜。没有给出示例用法。
我如何从 Apple API 中得知我需要以所需的方式添加 UIView(作为 containerView)?我怎样才能按照假定的方式学习阅读 Apple API 文档?
阅读 API 文档很像阅读数学教科书:您需要理解您正在阅读的每个单词,否则您可能会错过所需的内容。在这种情况下,检查该文档时,您可能会查看 PlaygroundPage
class,并且您会看到 liveView
属性 被描述为 "The active live view in the assistant timeline"。如果您不确定 "live view" 是什么,或者 "the assistant timeline" 是什么,则可能需要进一步搜索。但是,如果您知道这些术语,您应该立即认出这是您正在寻找的 属性!
继续浏览文档并确保您对每种方法有足够的了解,或者 属性 明确排除它或进一步研究它。一开始可能会不知所措,但是当您阅读 Swift iBook、遵循教程并继续阅读文档时,您会发现自己越来越理解其中的内容。
正如@andyvn22 提到的,学习如何使用文档、理解它试图与您交流的方式并进行实验只需要时间。我将向您展示我的思考过程:
- 您链接的页面有一个
import PlaygroundSupport
,我可以看到有一个 class PlaygroundPage
- 假设您想在 Playground 中使用渲染 UI ,我对此进行了深入研究。
PlaygroundPage
似乎有一个名为 liveView
的 属性,它似乎让我可以实时与某些东西互动,所以点击那里... https://developer.apple.com/reference/playgroundsupport/playgroundpage
- 我可以看到
liveView
是一个 get/set 所以我知道我需要给它传递一些东西,也许是我想在操场上渲染的视图对象?让我们点击进入此视图必须遵守的 PlaygroundLiveViewable
协议... https://developer.apple.com/reference/playgroundsupport/playgroundpage/1964506-liveview
- 啊,所以
UIView
或 UIViewController
符合 PlaygroundLiveViewable
协议 - 如果我尝试通过它,那么它会像你在问题中确定的那样工作 https://developer.apple.com/reference/playgroundsupport/playgroundliveviewable
这并不总是直截了当的,因为让我们面对现实吧,为一种刚刚适应的语言编写文档是一个挑战。我建议巩固一些软件工程基础,如 classing、subclassing、get/set 范式,你学得越多,你就会发现越多的模式,并且更容易遵循文档!
我发现在 Swift 和 Xcode 中学习新事物的这一方面非常 令人费解。
我似乎无法根据我在 Apple API 文档中阅读的内容来解读我需要编写的实际代码;在我的具体情况下:API Reference for 'PlaygroundSupport',以及我需要的实际代码,即:
import PlaygroundSupport
let containerView = UIView(frame: CGRect(x: 0.0, y: 0.0, width: 375.0, height: 667.0))
PlaygroundPage.current.liveView = containerView
对我来说,这似乎是 'hidden knowledge',我无法从 API 中占卜。没有给出示例用法。
我如何从 Apple API 中得知我需要以所需的方式添加 UIView(作为 containerView)?我怎样才能按照假定的方式学习阅读 Apple API 文档?
阅读 API 文档很像阅读数学教科书:您需要理解您正在阅读的每个单词,否则您可能会错过所需的内容。在这种情况下,检查该文档时,您可能会查看 PlaygroundPage
class,并且您会看到 liveView
属性 被描述为 "The active live view in the assistant timeline"。如果您不确定 "live view" 是什么,或者 "the assistant timeline" 是什么,则可能需要进一步搜索。但是,如果您知道这些术语,您应该立即认出这是您正在寻找的 属性!
继续浏览文档并确保您对每种方法有足够的了解,或者 属性 明确排除它或进一步研究它。一开始可能会不知所措,但是当您阅读 Swift iBook、遵循教程并继续阅读文档时,您会发现自己越来越理解其中的内容。
正如@andyvn22 提到的,学习如何使用文档、理解它试图与您交流的方式并进行实验只需要时间。我将向您展示我的思考过程:
- 您链接的页面有一个
import PlaygroundSupport
,我可以看到有一个 classPlaygroundPage
- 假设您想在 Playground 中使用渲染 UI ,我对此进行了深入研究。 PlaygroundPage
似乎有一个名为liveView
的 属性,它似乎让我可以实时与某些东西互动,所以点击那里... https://developer.apple.com/reference/playgroundsupport/playgroundpage- 我可以看到
liveView
是一个 get/set 所以我知道我需要给它传递一些东西,也许是我想在操场上渲染的视图对象?让我们点击进入此视图必须遵守的PlaygroundLiveViewable
协议... https://developer.apple.com/reference/playgroundsupport/playgroundpage/1964506-liveview - 啊,所以
UIView
或UIViewController
符合PlaygroundLiveViewable
协议 - 如果我尝试通过它,那么它会像你在问题中确定的那样工作 https://developer.apple.com/reference/playgroundsupport/playgroundliveviewable
这并不总是直截了当的,因为让我们面对现实吧,为一种刚刚适应的语言编写文档是一个挑战。我建议巩固一些软件工程基础,如 classing、subclassing、get/set 范式,你学得越多,你就会发现越多的模式,并且更容易遵循文档!