完全无法通过 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) 应用的?

5216 次点击
所在节点    程序员
28 条回复
finab
2020-03-03 14:07:50 +08:00
可以分享下我当初的经验
我有后台开发经验,我了解编程语言的各种基础知识、面向对象的概念、数据结构等
但对客户端开发一无所知

第一步
学习了 Objc 语言的语法,方法如何定义、如何调用等一些基础语法

第二步
找了一份 iOS UI 常用控件的实例教程学习
跟着教程学习了常用 UI 控件的用途、用法
例如 UIView、UIButton、UILabel、UIImageView 等
一个一个控件,自己都实际操作一下

第三步
了解 iOS 的 APP 的生命周期,页面结构
从一个 APP 开始启动,怎么加载出第一个页面,页面的生命周期接口,
例如 AppDelegate, UINavigationController、UIViewController 等


到这一步总共花了三四天吧,我基本能照葫芦画瓢开始开发 APP 了。
学会了怎么么用,不知道为什么,但也算是入门了
之后就是熟悉后深入学习,弄明白为什么了

还有一个非常重要的地方,就是一定要自己上手写代码,仅看教程是没用的,看的一头雾水,不如定个小目标
先从 hello world 开始,再到写出一个按钮开始,接着写出一个页面
LiuJQ
2020-03-03 14:14:06 +08:00
同意一楼的过程,@finab,应该先从 oc 语法开始学起,swift 倒是不着急
另外,我也在搞 iOS 入门,楼上可以发一下 iOS UI 实例教程吗?
murmur
2020-03-03 14:15:18 +08:00
https://developer.apple.com/library/archive/referencelibrary/GettingStarted/DevelopiOSAppsSwift/

教程是有的,全归档了,苹果的开发者网站垃圾是没跑了,只能靠搜才能搜出官方的 hello world 教程
ivyliner
2020-03-03 14:15:53 +08:00
It's not your fault, Apple Developer Document sucks!
zfish
2020-03-03 14:16:36 +08:00
当时我是后端 java 工程师,学 iOS 是在 coursera 上找了个 swift 课程,一开始也看了 iOS 一些基础的 oc 知识,最后直接花了一个月时间学习,一个月弄了一个 iOS swift app 直接上架了,这篇文章有介绍: https://www.bmpi.dev/dev/zero-to-one/ 个人感觉要想学好能独立做,至少要系统看一门课程,然后直接上手做遇到问题 Google 记录,这样一个月时间应该也就熟悉了
finab
2020-03-03 14:22:56 +08:00
@LiuJQ 非常久远了,找不到那个教程了,而且也不是很好
现在我建议直接学 Swift + UIKit ( Objc 开发与 Swift 开发都差不多,但 swift 语法很好,很多写法会很舒适)
楼主学的 SwiftUI 入门不是个好选择

UIKit 找官方文档,然后看下控件列表。
先了解用途,然后根据文档实际操作一下我觉得也是个不错的方法
SingeeKing
2020-03-03 14:25:15 +08:00
@Lebus 有一个课还是不错的,建议看看
zhoucan007
2020-03-03 14:27:25 +08:00
你这用的是最新的 SwiftUI 框架啊,第一步:学习 Swift 语言、第二步:参考官方的 Swift 教程、第三步:上网看看视频
djyde
2020-03-03 14:31:03 +08:00
@zhoucan007 #8 我前两步已经完成了,所以我这个帖子表达的就是是不是我完成了前两步,官方文档就完成他的任务了
ytll21
2020-03-03 14:34:04 +08:00
没毛病,Apple Developer Document 就是一坨 xx
zhengjian
2020-03-03 15:43:13 +08:00
这个文档好像是自动生成的?
dorentus
2020-03-03 16:11:55 +08:00
Swift UI 不能通过文档来学,大概可以通过 https://developer.apple.com/tutorials/swiftui/tutorials 入门
最好有 Swift 基础
dorentus
2020-03-03 16:14:02 +08:00
另外 Swift UI 和 Foundation & UIKit 完全是不同的东西。
djyde
2020-03-03 16:20:05 +08:00
@dorentus #13 然而我几年前学 UIKit 的时候和学 SwiftUI 是一样的体验,除了 SwiftUI 多了一个 tutorial
WildCat
2020-03-03 16:36:05 +08:00
文档不好,我这样全职 iOS 开发,学 SwiftUI 都需要买书看…
zyxk
2020-03-03 16:45:20 +08:00
@WildCat #15 SwiftUI 有什么书吗?推荐一下。macOS
FindByMe
2020-03-03 16:47:25 +08:00
斯坦福的 CS193P 推荐你,还有 Raywenderlich 这个网站,上面有很多视频和书。Document 是你上手了以后想细致了解 API 才去看的,不适合新手当教程阅读,Hello World 这方面的东西还是看看别人写的吧
Majirefy
2020-03-03 16:57:55 +08:00
换一个角度,文档好不好,可以直接看这个公司发明的语言对文档功能的各种支持如何。
譬如看看微软.net 平台的各种语言,其注释都可以满足各种格式需求,自动生成的文档非常棒。
Swift 继承了 OC 的注释风格,可玩性不是特别强,OC 更偏向于让代码本身就约等于注释了……

总之,苹果文档,垃圾!

BTW,可以看看 SwiftUI 的官方那个教程,那个 Landmark 的……非常不适合新手……
cmdOptionKana
2020-03-03 17:23:52 +08:00
听你这么说倒是激起了我的兴趣想学学看😅
cxknmsl
2020-03-03 17:26:51 +08:00
我以前就想问,为啥就没有个系统的完好的文档,搞得每次只能自己到处找资料查缺补漏

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

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

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

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

© 2021 V2EX