首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS
订阅
Doliant
更多收藏集
微信扫码分享
微信
新浪微博
QQ
13篇文章 · 0订阅
atomic的安全性?
之前的文章提到了,atomic保证了属性的原子性,但并不能保证线程的安全性,这种说法其实不是很准确。 并发程序想要正确地执行,必须要保证原子性、可见性以及有序性。 原子性:一个操作或多个操作要么全部执行完成且执行过程不被中断,要么就不执行。 可见性:当多个线程同时访问同一个变量…
自定义按钮之:文字图片位置随意定制
按钮是应用中最常见的, 最基本的一个控件。按钮的样式多种多样,系统默认样式为左右结构,图片在左边,文字在右边。系统按钮完全无法满足开发的需求,我们只能自己定制出想要的样式。
23个经典设计模式的Swift实现
也就是工厂问题想解决的原始问题。 从代码和UML可以看出,为了得到产品A,调用者Client要同时依赖Product, ConcreteProductA和ConcreteProductB,并亲自写一个创建产品的方法。 每当需求新增一个产品,就要改动到调用方Client。如果这一…
YMHTTP - 基于 libcurl 的 HTTP 框架
YMHTTP 是一个适用于 iOS 平台,基于 libcurl 的 IO 多路复用 HTTP 框架。 其 API 设计和行为与 NSURLSession 保持高度一致,不仅可以省去学习成本还可以减少接入成本,同时也拓展了 DNS 的能力(包括 SNI 的场景)。 目前项目 UT…
iOS VIPER架构实践(二):VIPER详解与实现
第一篇文章对VIPER进行了简单的介绍,这篇文章将从VIPER的源头开始,比较现有的几种VIPER实现,对VIPER进行进一步的职责剖析,并对各种细节实现问题进行挖掘和探讨。最后给出两个完整的VIPER实现,并且提供快速生成VIPER代码的模板。 Demo和轮子的github地…
RxSwift + MJRefresh 打造自动处理刷新控件状态
MVVM的模式中,多出了ViewModel这个角色,将逻辑处理、网络请求等繁杂操作中ViewController中抽离出来,ViewController得以瘦身。 结合RxSwift架构,我们一般就会在ViewModel中定义一个input收集繁杂操作所需的信息,通过一个tra…
最近很火的 Safe Area 到底是什么
iOS 7 之后苹果给 UIViewController 引入了 topLayoutGuide 和 bottomLayoutGuide 两个属性来描述不希望被透明的状态栏或者导航栏遮挡的最高位置(status bar, navigation bar, toolbar, tab …
数据结构 & 算法 in Swift (一):Swift基础和数据结构
从本文标题中的序号可以看出,本文是一个连载的开篇。 而且这个连载的标题是:数据结构 & 算法 in Swift。从这个连载的标题中可以看出,笔者分享的是使用Swift语言来实现所学的的数据结构和算法的知识。这里面需要解释两点: 学习通用性知识,突破技能瓶颈:笔者做iOS开发也有…
做了5年iOS,靠着这份面试题跟答案,我从12K变成了30K
在博主认为,对于iOS面试以及进阶的最佳学习方法莫过于刷题+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现面试并不难,其次就是在刷题的过程中有没有去思考,刷题只是次之,这又是一个层次了,这里暂时不提后面再谈。 何谓面试? …
iOS 关于组件化Router设计的争辩
本文记录了与一位同学关于Router设计的争论, 对于url router 和 protocol router 的争论, 架构并没有孰优孰劣, 只有适合与否, 希望能有更多的同学一起踊跃探讨. 对于组件化, 相信大家一定不陌生, 但针对组件化的方案及思路, 大家或多或少都有一些…