完全无法通过 Apple Developer Documentation 学会 iOS / macOS 开发,是我的问题吗?

2020-03-03 13:50:43 +08:00
 djyde

已经数不清第几次被 Apple Framework (注意不是 Swift) 的学习门槛劝退。

例如,我无法通过官方文档学习一个 Button 是怎么用的:

https://developer.apple.com/documentation/swiftui/button

点进去,想看看如何监听一个点击事件,好不容易看出了大概是 init(action: () -> Void, label: () -> Label) 这条,再点进去,只有一个 Declaration 写着用法:

init(action: @escaping () -> Void, @ViewBuilder label: () -> Label)

我有点受到惊吓,因为我不知道 @escaping 和 @ViewBuilder 是什么,我心想也许是我的 Swift 基础还不行,所以看不懂。于是我就 Google swift ui button, 搜出了很多 tutorial, 发现这些 tutorial 讲得清楚得多。

类似的例子还数不胜数,我的学习过程基本是靠 StackOverflow 的。

现在我的感觉是,我写 App 的过程中,是否能写出我要的功能,完全是靠我的 Google 能力以及运气。这让我非常泄气。写过 Android, 前端, 后端各种平台的我是没有经历过像学 Apple Framework 这样累的。我只能靠大量非官方的 Tutorial 以及零散的 Blog post 拼凑成我的 App.

我觉得看 Apple Developer Documentation 来学 Apple 开发就像看 w3c.org 来学前端...

在这里请教一下各位 Apple 开发者,你们是如何学会写一个 iOS (尤其是能搜到相关 tutorial 更少的 macOS) 应用的?

5251 次点击
所在节点    程序员
28 条回复
superpeaser
2020-03-03 17:38:22 +08:00
面向 Google 编程
hstdt
2020-03-03 17:43:11 +08:00
去看 wwdc 的代码和 demo,或者看其他各种教程,学校也不会让你跟着字典学中文的。
ruby109
2020-03-03 17:57:00 +08:00
一般人们都是看斯坦福的 CS193P
ruby109
2020-03-03 17:57:18 +08:00
@ruby109 *入门
secondwtq
2020-03-03 18:32:04 +08:00
楼主看这个文档不能学会不是问题,去搜 Tutorial 也是正确的做法

一般开发文档分两大块,Tutorial/Guide (教程)和 Reference (参考),楼主发的这个 Apple 文档链接属于 Reference。
参考是给你在熟练之后日常开发找用法的,就像一门外语的字典。
教程是你学的时候带你入门的,就像一门外语的教科书。

每一个领域都有一套约定俗成的术语和模式,就像一门外语的语法、标音方式之类的。你在看参考之前,需要先看教程熟悉这些术语和模式。上来就翻字典是学不会一门外语的。

楼主对“Apple Developer Documentation”和 w3c.org 两者的类比有一定道理,但是只在“Apple Developer Documentation”只包含 Reference 的情况下成立。我知道 Apple 之前有各种各样的 Guide,一般篇幅都非常的长,也不知道是啰嗦还是详细(很多都是有关 OS X 的(用 OS X 而不用 macOS 是为了暗示时间))。Swift 之类的新东西还有没有就不知道了。
xiaotianhu
2020-03-03 18:40:01 +08:00
我也是看官方文档看的怀疑人生了
原来不是我的问题 安心了

想买本书,发现 swift 更新的太快了啊.书都挺老的了...只能面向谷歌编程了
jin5354
2020-03-03 23:40:54 +08:00
这几天在看 OC,看文档也看得我怀疑人生了
lizhuoli
2020-03-22 01:04:53 +08:00
有专门的 100 Days SwiftUI 教程,去看那个 https://www.hackingwithswift.com/100/swiftui YouTube 每集 5 分钟,很快的。
你要知道 API Documentation 就是说 API 的,不是 How to Do 。类似于是词典,不是教你怎么写文章的,完全不是一个东西。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/649402

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX