首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
文西酱
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
145
文章 144
沸点 1
赞
145
返回
|
搜索文章
赞
文章( 144 )
沸点( 1 )
组件化的一个新想法
目前国内业界的方案:URL路由、CTMediator、Beehive。这次我要介绍一个复古简单又全新的方案。 先回答两个问题。 什么是组件?从最细粒度去考虑,一个符合单一职责原则的类就是一个组件;再扩大一点,为了完成某个独立功能的几个类可以称之为组件,比如NSArray类簇、实…
Swift学习-使用 Combine, Codable 和 Swift 5 写一个通用的网络库(下)
这是我参与更文挑战的第29天,活动详情查看: 更文挑战 前言 我们大多数的app 都需要依赖网络调用获取数据, 多亏有了 URLSession 和 Codable,让我们的 REST APIs 调用变
iOS 基于PGO优化启动时间
前言本文不再详细阐述iOS启动流程,以及二进制重排的详细原理。只介绍一种相当简单有效的优化启动时间的方法。这就是Profile Guided Optimization,可以大幅度降低page In 次
[iOS] 谈谈iOS多线程的锁
iOS开发中由于各种第三方库的高度封装,对锁的使用很少,刚好之前面试中被问到的关于并发编程锁的问题,都是一知半解,于是决定整理一下关于iOS中锁的知识,为大家查缺补漏。 在过去几十年并发研究领域的出版物中,锁总是扮演着坏人的角色,锁背负的指控包括引起死锁、锁封护(luyang注…
iOS 组件化 —— 路由设计思路分析
前言 随着用户的需求越来越多,对 App 的用户体验也变的要求越来越高。为了更好的应对各种需求,开发人员从软件工程的角度,将 App 架构由原来简单的 MVC 变成 MVVM,VIPER 等复杂架构。更换适合业务的架构,是为了后期能更好的维护项目。 但是用户依旧不满意,继续对开发人员提出了更多…
RunLoop终极解析:输入源,定时源,观察者,线程间通信,端口通信,NSPort,NSMessagePort,NSMachPort,NSPortMessage
OSX / iOS 系统中,提供了两个这样的对象:NSRunLoop 和 CFRunLoopRef。 CFRunLoopRef 是在 CoreFoundation 框架内的,它提供了纯 C 函数的 API,所有这些 API 都是线程安全的。 NSRunLoop 是基于 CFRu…
iOS多线程安全-13种线程锁🔒
多个线程访问同一块资源的时候,很容易引发数据混乱问题。 正常情况下我有50张票,然后卖了50次,剩余票数应该是0,但是打印结果竟然是3,所以这里就存在了线程安全问题。 出现线程安全的原因就是在同一个时间,多个线程同时读取一个值,像线程A和B同时读取了当前票数为10,等于是卖了两…
来一次有侧重点的区分Swift与Objective-C
- OC出现过的绝大多数概念,比如引用计数、ARC(自动引用计数)、属性、协议、接口、初始化、扩展类、命名参数、匿名函数等,在Swift中继续有效(可能最多换个术语)。 - swift中的可选类型,是用于所有数据类型,而不仅仅局限于类。相比于OC中的nil更加安全和简明 - s…
iOS中常见Crash总结
1、如果属性存在,利用iOS的反射机制来规避,NSStringFromSelector(@selector())将SEL反射为字符串作为key。这样在@selector()中传入方法名的过程中,编译器会有合法性检查,如果方法不存在或未实现会报黄色警告。 3、给NSMutable…
[译]用 LLDB 调试 Swift 代码
作为工程师,我们花了差不多 70% 的时间在调试上,剩下的 20% 用来思考架构以及和组员沟通,仅仅只有 10% 的时间是真的在写代码的。 所以让我们在这70%的时间尽可能愉悦是相当重要的。LLDB 就是来打救我们的。奇妙的 Xcode Debugger UI 展示了所有你可用…
下一页
关注了
31
关注者
0
收藏集
1
关注标签
3
加入于
2018-05-15