因为目前项目还是老一套的 OC. 准备用 swift 重写.. 现在学完基础语法了,感觉和 OC 差别挺大的..(当然用 OC 的方式写 Swift 差别不大..
现在就是想着,尽量用 Swift 的精髓去重写项目. 目前官方文档马上看完了..
想着马上看 RxSwift,但是感觉是不是有点深了.体验会不好.
所以来问问大家..有什么项目可以学习的吗
1
wobuhuicode 2022-08-03 10:43:11 +08:00 1
不是应该直接上 Combine+SwiftUI 就好了么。还要 RxSwift 干嘛
|
2
kera0a 2022-08-03 10:53:21 +08:00 1
不深,可以直接学 RxSwift ,准确的说是学响应式编程思维,挺有意思的,并不需要有什么学习前置条件。
重点理解流的各种操作符,每个都实际写一下理解含义。 之后这些操作符对流的组合会让你打开新世界,编程还能这样编?并且这种编程思维换个框架甚至语言依然通用 |
3
code4you 2022-08-03 10:59:09 +08:00
|
4
code4you 2022-08-03 11:02:44 +08:00
楼主可以看看这个~~~ 忽略我楼上的答复
khoren93/SwiftHub: GitHub iOS client in RxSwift and MVVM-C clean architecture https://github.com/khoren93/SwiftHub 可以看看这个项目 以为楼主是自学 囧 我审题错了 |
5
ravenZ OP |
7
Innovatino 2022-08-03 11:24:27 +08:00 1
Swift 的精髓……Swift 核心团队自己知道精髓是啥么,天天整活儿
其实要我说,不如看看对标 OC 的那些常用库,写得都很“精髓” |
8
wobuhuicode 2022-08-03 11:32:13 +08:00
@ravenZ 前几年使用 RxSwift 来开发,在非 SwiftUI 模式下感觉有点不伦不类的。如果对标 OC 的话,还不如用回旧的那套 MVC 方案。很多思路和代码风格其实都是 OC 下的延伸,只是少了很多模版代码。
|
9
andyJado 2022-08-03 12:04:03 +08:00
@wobuhuicode combine 很蠢的, 下个 swift playground 里面有个相机 app, 从这开始, swift 写的, 代码风格极好, combine 的场景逐渐被 async stream 替代.
|
10
ravenZ OP @Innovatino 确实特性和语法糖有点多了.. 就总归也有好的地方吧...
@wobuhuicode MVC 我反正吹爆,简单易懂好上手便于维护... MVVM 那套相对比来说. 就是把原来 MVC 一眼就看到的屎,变成了找来找去才能找到的屎.. 但想进步,还是得整花活,搞点没搞过的... |
11
iXInbo 2022-08-03 13:25:45 +08:00
其实没必要讲究学到精髓后才写。
什么时候重写,当然是闲暇的当下;而且也没有必要用 rxswift ,试试 Swift 一些第三方库,可以实现类似效果。 还有就是想办法提升最低 iOS 版本,有些好用的新写法都是需要一定版本的 iOS 的,比如 tableview 和 collectionview 的快照写法;需要 iOS 13 以上 |
12
ravenZ OP @iXInbo 估计是要闲暇很长一段时间了..(目前主要负责已有项目的维护, Android iOS.
Android 暂时没什么想法去多学,能依葫芦画瓢就行了. iOS 是本职,但是落后当前版本挺多的.swift3 4 年前是有用来写过项目的, 就 Alamofire Snapkit 这些,感觉就是在翻译 OC... 最近接触到了一个老外写的项目. 就是面向协议编程那个味,感觉挺有意思... 所以萌生了好好研究下 swift.. 用非翻译 OC 的方式 试着去重写一个已经稳定的 App |
13
xtinput 2022-08-03 15:14:46 +08:00
直接上手就 OK ,没啥好学的
|
14
xtinput 2022-08-03 15:16:09 +08:00
RxSwift 不建议放到老项目里面去,直接上手,混编,一点一点的将原项目变成全 swift 。我就是这么来的,手里现在的项目已经变成纯 swift 了(三方除外)
|
15
oooo723 2022-08-04 09:04:24 +08:00
RxSwift 不建议看了,看看 swifui+swift-async-algorithms 吧,之前在 swift 论坛看到 combine 的大部分功能应该要放到 language 层面( swift-async-algorithms ),还有推荐看看 TCA 架构
|