Home
Dirtmelon
Cancel

现有工程逐步使用 RxSwift 和 MVVM

现状 目前项目采用的是 MVC 结构,UIViewController 包含大量代码,包括网络请求,数据处理,布局代码等,难于测试(虽然也不写测试)。随着项目发展,这部分内容会越来越多,越来越复杂,导致 UIViewController 中的代码越来越难维护。为了项目的可持续发展,决定开始开始使用 RxSwift 和 MVVM 。 ViewModel ViewModel 扮演的是处理...

回字的几种写法 - Pull To Dismiss

有些 App 在弹出评论列表,或者其它界面时,是从底部弹出的,且下拉对应的 ScrollView 也可以触发 dismiss 的动画,不需要去点击按钮,在交互上来说也是连续的。 在实现这个需求的过程,我发现这个需求有几种写法,这几种写法都需要先给对应的 ViewController 添加 UIPanGestureRecognizer 手势,只是对手势的处理方法不同,添加手势的方法如下: ...

PhotoKit-使用

相机胶卷 一般情况下我们都希望自定义相册界面时获取到的数据跟系统的相机胶卷数据是一致的。 PHAsset 中 有个 fetchAssets(with:options:) 的方法,可以获取到手机中全部的 PHAsset ,但是排序不对,而且系统的相机胶卷其实也是一个相册,所以还是要获取到对应的 PHAssetCollection 。 PHAssetColle...

PhotoKit-概览

iOS 8 开始提供,分为 Photos 和 Photos UI 两部分。 作用: 从用户照片库中获取照片和视频资源,相册 添加,删除和修改资源或相册 编辑照片或者视频的内容或者元数据 PhotoKit 对象模型 PHObject ,PhotoKit 中的基类,PHAsset ,PHAssetCollection ,PHCollectionList 和 PHObje...

Texture-Layout

原文链接:Layout 原因和收益 Auto Layout 在处理复杂的 View 时,消耗会指数级上升, Texture 布局在以下几方面比 Auto Layout 好: 快,明显比 Auto Layout 快,基本上跟手动布局差不多 异步和并发,布局可以在后台线程进行计算,所以不会打断用户交互 声明式布局,不可变的数据结构,这使得布局代码易于开发,编写文档,code re...

Texture-基本概念

原文:Core Concepts Texture 基本单位为 node , ASDisplayNode 是建立在 UIView 上的抽象层,如同 UIView 与 CALayer 的关系。ASDiplayNode 是线程安全的,你可以在后台线程进行初始化和配置。 Nodes Node 的用法跟 UIView 类似,且 Node 提供了 UIView 和 CALayer 属性。 Tex...

2018

工作 小程序带来的变化 18年上半年公司重点放在小程序上,也因为小程序本身的特性:更新快,无遗留版本的包袱),导致整个开发节奏特别快,当时小程序一般两三天发一个版本,就导致 iOS 这边也必须加快开发节奏,当时也是一直在加班。而且小程序那边有两个开发人员,iOS 这边就我一个,整体感觉就是一个人在干着两个人的活。 虽然小程序获客成本比较低,基本上微信用户点一下就成了我们的用户了,但是这样拉...

2018-11-ReadingList

A Better MVC, Part 1: The Problems | Dave DeLong 问题: 违反封装,充斥着大量面条代码 Massview View Controller 解决办法: 开发者为了解决上面两个问题通常会使用其它架构方式。但是会增加团队成员的学习成本。系统更新时也有可能需要更多时间来进行适配,同样地,如果你依赖了其它第三库,还需要等得第三库的更新。 ...

2018-10-ReadingList

https://nshipster.cn/hashable/ Hash在 swift 中的进化史 https://www.appcoda.com/memory-management-swift/ strong weak 与 unowned https://oleb.net/2018/photos-data-model/ PhotoKit 是 iOS 提供给 app 进行相册相关操作的框架...

《 App 架构》阅读笔记-笔记1

由 objc.io 出版的关于 App架构的书,我阅读的是ObjC 中国翻译的中文版本。 关于此书 此书用一个 录音 app 来实现以下几种设计模式: Model-View-Controller (MVC) Model-View-ViewModel+Coordinator (MVVM-C) Model-View-Controller+ViewState (MVC+VS) ...