问这个问题,我假定你是要问 HTTP 通讯。
不知道你目前是什么水平。如果是对任何网络编程都不懂,例如不知道常用的 RESTful 架构,JSON、XML 数据交换格式,那你得首先补充这几个基础知识。
如果你知道上面的基础,或者有其他语言的经验,那就好办了。你只直接用成熟的开源库就可以了,原因在于你可以少踩很多坑,专注做你要做的事,把网络的东西交给库去做。我认为你目前的水平还看不懂这些开源库内部的架构代码,原因在于库内部除了网络编程,还涉及很多线程、设计模式、语言技巧等等之类的东西,新手是很难看懂的,也没必要花时间去啃,等你熟悉了再去看就简单很多。
如果你想要直到用原生的代码如何做网络通讯,可以参见官方文档。苹果的绝大多数类库的文档都很完善,写的也易懂,有什么问题,第一时间可以去看看官方文档。
Swift 的 HTTP/HTTPS 通讯库通常是用 Alamofire,它是 AFNetworking 的 Swift 版本。但更多人会选择用 Moya,它基于 Alamofire 封装了一个类似于最佳实践的网络抽象层,这个库你如果有网络编程的经验你就明白它存在的意义。
延伸一些其他的你需要用到的。
JSON 解析一般用 SwiftyJSON。
ORM 一般用 ObjectMapper。
Core Data 你可以选一个顺眼的
https://github.com/topics/coredata?l=swift&o=desc&s=starsSQLite 3 一般用 SQLite.swift。
资源管理可以配合 R.swift。
布局很多人用 SnapKit,但我已经转 PinLayout 和 FlexLayout (如果你会 CSS 的 Flexbox,用这个库你可以无缝切换)。
官方文档 URL Loading System:
https://developer.apple.com/documentation/foundation/url_loading_system