agagega

agagega

V2EX 第 302609 号会员,加入于 2018-03-22 23:16:35 +08:00
今日活跃度排名 2878
agagega 最近回复了
楼上都没看新闻原文吗...
这玩意不是苹果自己想移除的,是苹果在系统代码里留了一手,怕在某些地区吃( Intel ?)官司让苹果禁用 Rosetta 。目前看来还没有这个迹象
21 小时 36 分钟前
回复了 GTim 创建的主题 Rust rust 这门语言太难学了,感觉比 C 还难..
Rust 就是以语法 /类型系统的方式包装了 C++中很多「最佳实践」,然后语法变鬼畜了点,融了很多函数式的概念进去
23 小时 28 分钟前
回复了 Tony4ee 创建的主题 macOS Messages.app 打字卡顿怎么破?
难道苹果的人用 Catalyst 也会被坑?(滑稽
23 小时 29 分钟前
回复了 chejy 创建的主题 生活 买二手房遇到不讲理的老年业主真是太难受了。
这也太 low 了..

> 真正在乎的是为啥依法办事的人会被欺负,而要维护自己的权益却那么难

这个世界的运行规则也许就是这样。想想坐飞机为什么需要安检,因为那些极少数有意或者无意干坏事的人,全体人类付出了大量的成本。
刚学 iOS 不久,以我自己的理解给前面的 V 友补充一下,先说楼主的问题吧:

1. Swift 现在的大版本号是 5,语法到 4 才基本稳定下来,前几个大版本差不多更新一次旧的代码就编译不过了,所以网上或者书里的很多 Swift 资料现在拿过来不一定是对的,OC 其实没有这个问题。

学 Swift 入门的话看到一些资料用的 OC 可能看不懂,但学过一点 Java 或者 C++的话花点时间看一下 OC 的语法也不难,不要求会写,能大概看懂意思就行,这样对学 Swift 也有帮助,比如 Swift 调用方法的语法感觉就明显是在向 OC 兼容。

国内 iOS 用 OC 的还是很多(其实是因为新项目少了吧),但这两年苹果推的框架都是 Swift 写的,Swift 已经慢慢变成熟了。苹果的文档的确不太行,面向 StackOverflow 编程吧。而且我总觉得网上 iOS 资料明显没有前端来得丰富。

2. 官方支持的框架有两个,一个是 UIKit,一个是 SwiftUI 。UIKit 是 iOS 起初就有的; SwiftUI 是 19 年 WWDC 才发布的,20 年开始完善一些,基本能达到能独立写简单小项目的程度。但不了解 UIKit 直接上 SwiftUI 有点类似不懂原生 DOM 直接学 React,遇到坑是必然的,所以还得回头看 UIKit 。当然其他一些技术,比如 Flutter/ReactNative 还有网页套壳之类的都可以开发,体验可能赶不上纯原生。

SwiftUI 的特点是 MVVM,就像前端那几个框架,数据流动的顺序变清楚了,可以少很多不必要的代码(和 bug )。UIKit 是 MVC,也就是你定义好了界面之后,界面里的组件会关联一些 Controller,它们负责加载数据或者处理各种点击事件、切换页面之类的。

这些处理可能是通过重写 Controller 基类的回调,或者实现某个组件的 Delegate (就是接口的意思),也有可能通过 Notification (系统传递消息的机制,不是用户收到的那个消息)或者直接继承组件对应的类来做。说起来是 MVC,但我感觉框架并没有对如何组织代码做太多明确限制。这个听起来很抽象,跟着教程做过两个 Demo 就懂了。(苹果官方以前有个教程,现在扔 Archive 里了..)

然后在界面之外 iOS 有很多很多功能框架,比如相机的、定位的、人工智能的,这里有些可能和界面都没多大关系。

3. SwiftUI 的界面是代码写的,但很清楚,比较容易改。UIKit 的话有两种方法,一种是用代码自己实现,另一种是在 Storyboard 里拖控件。拖控件可以避免写很多繁琐的代码,属性和布局啥的在窗口里自己调,然后可以把控件和代码里的一个对象关联起来,在运行的时候就可以用这个对象操作它。动画也是框架提供的,iOS 的 API 对动画考虑得很周全。UIKit 比较麻烦的一个东西是布局,因为从手机到平板尺寸都不一样,所以有个 autolayout 机制,通过约束来确定组件的位置和大小,这个不难理解但用起来还挺烦的。

另外 SwiftUI 肯定是未来的方向,iOS14 的小组件都只能用 SwiftUI 写了,虽然等它完善可能还要好多年。它的大优势是写一套代码可以在手机电脑多个平台上面用。
1 天前
回复了 sunziren 创建的主题  WATCH 2021 年 3 月 1 日晚上买了个 apple watch s6
一直想买,先入了个小米手环试试,结果前两天丢了,现在想入 watch,但是担心:
1. 这续航能用多久?我老怕自己忘记充电
2. 一直戴着手会不会难受,我想用尼龙表带。
3. 感觉 SE 价格合适但是没有常亮
好像国外有些人的生活方式就是工作前十多年极度节俭然后快速攒钱退休,不过在国内可能不太现实
关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3274 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 13ms · UTC 11:57 · PVG 19:57 · LAX 03:57 · JFK 06:57
♥ Do have faith in what you're doing.