![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS
文章平均质量分 81
Ficow Shen
Fly in the code world!
展开
-
iOS模拟器 Unable to boot the Simulator —— Ficow笔记
iOS模拟器和Xcode一样不靠谱,问题也不少。😂 那就有病治病,然后把疗法记下来~原创 2024-03-23 08:30:15 · 1157 阅读 · 0 评论 -
Ficow 陪你看 WWDC 2022
去年,Ficow 陪你看 WWDC 2021。今年,同样不能缺席呢~WWDC 2022 的完整视频列表,足足有180多个视频,想全部看完还是需要耗费很多的精力。所以,Ficow 在这里为你提供一些实战建议。翻译 2022-10-09 22:58:00 · 236 阅读 · 0 评论 -
Combine 框架,从0到1 —— 5.Combine 常用操作符
本文首发于 Ficow Shen’s Blog,原文地址: Combine 框架,从0到1 —— 5.Combine 常用操作符。 内容概览前言printbreakpointhandleEventsmapflatMaperaseToAnyPublishermergecombineLatestzipsetFailureTypeswitchToLatest总结 前言 正所谓,工欲善其事,必先利其器。在开始使用 Combine原创 2020-10-09 21:25:10 · 1643 阅读 · 0 评论 -
Combine 框架,从0到1 —— 5.Combine 中的 Subjects
本文首发于 Ficow Shen’s Blog,原文地址: Combine 框架,从0到1 —— 5.Combine 中的 Subjects。 内容概览前言PassthroughSubjectCurrentValueSubjectSubject 作为订阅者常见用法总结 前言 正所谓,工欲善其事,必先利其器。在开始使用 Combine 进行响应式编程之前,建议您先了解 Combine 为您提供的各种发布者(Publishers)、操作符原创 2020-09-26 08:06:32 · 285 阅读 · 0 评论 -
Combine 框架,从0到1 —— 5.Combine 提供的发布者(Publishers)
本文首发于 Ficow Shen’s Blog,原文地址: Combine 框架,从0到1 —— 5.Combine 提供的发布者(Publishers)。 内容概览前言JustFutureDeferredEmptyPublishers.SequenceFailRecordShareMulticastObservableObject@Published总结 前言 正所谓,工欲善其事,必先利其器。在开始使用 Combine原创 2020-09-25 07:49:13 · 587 阅读 · 0 评论 -
使用 Swift Package Manager 集成依赖库(图文教程)
本文首发于 Ficow Shen’s Blog,原文地址: 使用 Swift Package Manager 集成依赖库。 内容概览前言添加依赖包在项目中使用依赖管理已导入的依赖在团队中统一依赖的版本总结 前言 在 Swift Package Manager 出现之前,我们需要使用 CococaPods, Carthage 等包管理工具来管理依赖。现在,我们可以直接使用 Xcode 来管理依赖。Xcode 内建了对 Git 版本控制系原创 2020-09-24 07:37:41 · 1135 阅读 · 0 评论 -
Combine 框架,从0到1 —— 4.在 Combine 中执行异步代码
本文首发于 Ficow Shen’s Blog,原文地址: Combine 框架,从0到1 —— 4.在 Combine 中执行异步代码。 内容概览前言用 Future 取代回调闭包用输出类型(Output Types)代表 Future 的参数用 Subject 取代重复执行的闭包总结 前言 你的应用可能会使用一些常见的模式来处理异步事件,比如:完成处理器(Completion handlers)。它其实是调用方提供的一个闭包,当原创 2020-09-20 17:32:55 · 259 阅读 · 0 评论 -
Combine 框架,从0到1 —— 4.在 Combine 中使用 KVO
本文首发于 Ficow Shen’s Blog,原文地址: Combine 框架,从0到1 —— 4.在 Combine 中使用 KVO。 内容概览前言用 KVO 监控改动将 KVO 代码迁移到 Combine总结 前言 KVO([Key-Value Observing](Using Key-Value Observing in Swift)) 是苹果开发者常用的功能,很多框架都会使用 KVO 来发送异步改动。将基于回调和闭包的 KVO 代原创 2020-09-17 09:04:02 · 212 阅读 · 0 评论 -
Combine 框架,从0到1 —— 4.在 Combine 中使用计时器
本文首发于 Ficow Shen’s Blog,原文地址: Combine 框架,从0到1 —— 4.在 Combine 中使用计时器。 内容概览前言使用计时器执行周期性的工作将计时器转换为计时器发布者(Timer.TimerPublisher)总结 前言 计时器是苹果开发者常用的功能。如果你的应用使用 Foundation 框架中的计时器 Timer 来周期性地执行某些操作,你可以用 Combine 简化这些代码。现在,让我们来学习如原创 2020-09-13 07:34:06 · 225 阅读 · 0 评论 -
Combine 框架,从0到1 —— 4.在 Combine 中使用通知
本文首发于 Ficow Shen’s Blog,原文地址: Combine 框架,从0到1 —— 4.在 Combine 中使用通知。 内容概览前言让通知处理代码使用 Combine总结 前言 通知中心是苹果开发者常用的功能,很多框架都会使用通知中心来向外部发送异步事件。对于iOS开发人员而言,以下代码一定非常眼熟:var notificationToken: NSObjectProtocol?override func viewDi原创 2020-09-08 07:47:22 · 281 阅读 · 0 评论 -
Combine 框架,从0到1 —— 3.使用 Subscriber 控制发布速度
本文首发于 Ficow Shen’s Blog,原文地址: Combine 框架,从0到1 —— 3.使用 Subscriber 控制发布速度。 内容概览前言在发布者生产元素时消耗它们使用自定义的订阅者施加背压(back pressure)使用背压操作符管理无限需求(Unlimited Demand)总结 前言 对于大多数响应式编程场景而言,订阅者不需要对发布过程进行过多的控制。当发布者发布元素时,订阅者只需要无条件地接收即可。但是,如原创 2020-08-29 16:26:12 · 233 阅读 · 0 评论 -
Combine 框架,从0到1 —— 2.通过 ConnectablePublisher 控制何时发布
本文首发于 Ficow Shen’s Blog,原文地址: Combine 框架,从0到1 —— 2.通过 ConnectablePublisher 控制何时发布。 内容概览前言使用 makeConnectable() 和 connect() 手动控制发布使用 autoconnect() 操作符进行自动连接总结 前言 使用 Connectable Publisher, 你可以决定发布者何时开始发送订阅元素给订阅者。那么,为什么我们需要这么原创 2020-08-28 21:03:40 · 220 阅读 · 0 评论 -
使用 Swift Package Manager 集成依赖库
本文首发于 Ficow Shen’s Blog,原文地址: 使用 Swift Package Manager 集成依赖库。 内容概览前言添加依赖包在项目中使用依赖管理已导入的依赖在团队中统一依赖的版本总结 前言 在 Swift Package Manager 出现之前,我们需要使用 CococaPods, Carthage 等包管理工具来管理依赖。现在,我们可以直接使用 Xcode 来管理依赖。Xcode 内建了对 Git 版本控制系原创 2020-08-28 09:27:23 · 721 阅读 · 0 评论 -
Combine 框架,从0到1 —— 1.核心概念
本文首发于 Ficow Shen’s Blog,原文地址: Combine 框架,从0到1 —— 1.核心概念。 内容概览前言核心概念RxSwiftCombine总结参考内容 前言 未来已来,只是尚未流行!响应式编程 这个名词已经久负盛名,但是在实际项目中采用了响应式编程的公司其实不多。如果您有 iOS 开发经历,那么您多半听说过 RxSwift,而 Rx 源自微软。提到Rx,往往也会提到源自微软的 MVVM模式。不过,原创 2020-08-27 22:01:25 · 849 阅读 · 1 评论 -
Swift self, Self, ==, === 傻傻分不清楚?
本文首发于 Ficow Shen’s Blog,原文地址: Swift self, Self, ==, === 傻傻分不清楚?。 内容概览前言self 和 Self== 和 ===总结 前言 在2014年开源之后,Swift就在飞速地茁壮成长,内涵也越来越丰富。对于实际使用Swift的人来说,概念多了就比较容易混淆????,然后就会导致开发效率低下。毕竟,你需要去查这些概念的正确定义,或者你需要去写代码进行验证。self,转载 2020-08-12 23:06:20 · 1083 阅读 · 0 评论 -
iOS 高效灵活地配置可复用视图组件的主题
本文首发于 Ficow Shen’s Blog,原文地址: iOS 高效灵活地配置可复用视图组件的主题。 内容概览前言如何配置主题?如何更高效地配置主题?面向协议/接口的方案 前言 在开发可视化应用的过程中,配置控件的样式是最常见的工作内容。请问读者是否遇到过这样的需求:在多个项目中复用多种可视化控件,而且这些控件可以配置颜色、字体等可视化元素?本文主要针对控件数量较大,而且需要配置的控件属性较多的这种需求对主题配置方案进行原创 2020-07-29 15:21:21 · 134 阅读 · 0 评论 -
iOS 使用响应者和响应者链处理事件
内容概览综述确定一个事件的第一响应者(First Responder)确定哪个响应者包含一个触控事件改变响应者链在视图(UIView)中处理触控事件 综述 iOS 应用使用响应者对象接收和处理事件。一个响应者对象是 UIResponder 类的实例,常见的子类包括: UIView, UIViewController, UIAp...原创 2019-11-27 13:57:15 · 438 阅读 · 0 评论 -
iOS 基于 RxSwift + Moya 搭建易测试的网络请求层
内容概览MoyaRxSwift实例讲解总结 Moya TargetType/// The protocol used to define the specifications necessary for a `MoyaProvider`.public protocol TargetType { /// The target'...原创 2019-11-20 17:23:54 · 1080 阅读 · 0 评论 -
(WWDC)优化应用启动时间 —— 实践篇
如何度量 优化启动时间 参考内容:[Optimizing App Startup Time](https://developer.apple.com/videos/play/wwdc2016/406/) 转载请注明出处,谢谢~...翻译 2019-10-09 14:05:03 · 753 阅读 · 0 评论 -
(WWDC)优化应用启动时间 —— 理论篇
本文读者:遭遇应用启动速度慢问题的朋友希望保持应用启动速度快的朋友对操作系统知识感兴趣的朋友 内容概览理论部分Mach-O 相关知识虚拟内存相关知识Mach-O 映像加载过程实践部分如何度量优化启动时间 理论部分 Mach-O 相关知识 Mach-O 术语文件类...翻译 2019-09-25 13:02:07 · 251 阅读 · 0 评论 -
(WWDC) Xcode 构建过程的幕后 —— Linker
接下来,我们将揭晓以下问题的答案:链接器(linker)实际上做了什么?什么是符号(symbols)?什么是目标文件(object files)?什么是库(libraries)? 链接器 (linker)执行构建可执行 Mach-O 文件的最后任务;把所有编译器调用的输出整合到单个文件中:移动和修补编译器生成的代码输入...翻译 2019-09-11 12:51:36 · 306 阅读 · 0 评论 -
(WWDC) UI 数据源的进步
内容概览现状新方法Demos注意事项现状UICollectionViewDataSource 简单、灵活,但这也致使应用变得复杂。使用 UICollectionViewDataSource 时,通常需要 Controller 来维护 UI 数据。更新 UI 可能会遭遇一些问题,比如:*** Terminating app due to uncaught excepti...翻译 2019-08-02 20:28:04 · 216 阅读 · 0 评论