RxSwift + MVVM 初体验

2019-09-10
阅读 6 分钟
8.1k
作为一名iOS开发者,必须跟上时代的潮流,随着swift ABI越来越稳定,使用swift开发iOS APP 的人越来越多。从网上看了很多文章,也从github上下载了很多demo进行代码学习。最近使用RxSwift+MVVM+Moya进行了swift的体验之旅。加入到swift开发的大潮中去。

iOS开发架构

2019-09-02
阅读 3 分钟
3k
一、原件架构的原则 软件架构的七大原则如下: 开闭原则 依赖倒置原则 单一职责原则 接口隔离原则 迪米特法则(最小知道原则) 里氏替换原则 合成/聚合复用原则 1.开闭原则 对扩展开放,对修改关闭。 说的是,在设计一个模块的时候,应当使这个模块可以在不被修改的前提下被扩展.换言之,应当可以在不必修改源代码的情况下...

swift开发利器-RxSwift

2019-08-26
阅读 2 分钟
4.3k
因为使用RxSwift框架我们可以使target-action、代理、闭包回调、通知、多个任务之间的依赖、等待多个并发任务完成之后处理结果等等的编程场景变得逻辑清晰、易读、易维护。

iOS内存相关的知识点整理

2019-08-03
阅读 2 分钟
2.5k
iOS的内存相关知识是我们开发iOS APP的基石之一,也是面试中必然会问的问题。内存知识的融会贯通,与及内存相关问题的解决,是iOS开发者必须要掌握的。

对iOS代码重构的一点看法

2019-07-16
阅读 2 分钟
3.8k
基本上每一个项目都会经历这样的一个过程,前期的快速迭代,去做市场的试探,这个时候的要求是怎么快怎么来,经过市场试探,找到对应的盈利模式,与及摸准了用户的使用习惯,这个时候产品会进入一个稳步发展的阶段,这个时候很多公司就会开始考虑怎么样更好的去维护这个产品,这个时候重构就来了。

swift的一些面试题

2019-07-14
阅读 2 分钟
4.6k
struct是值类型,class是引用类型。 值类型的变量直接包含它们的数据,对于值类型都有它们自己的数据副本,因此对一个变量操作不可能影响另一个变量。

ffmpeg开发知识点回顾

2019-07-04
阅读 2 分钟
3.1k
视频花屏/卡顿原因 如果GOP分组中的P帧丢失会造成解码端的图像发生错误 为了避免花屏问题的发生,一般如果发现P帧或者I帧丢失,就不显示本GOP内的所有帧,直到下一个I帧来后,重新刷新图像。 时间基 tbr: 帧率 tbn:time base of stream tbc:time base of codec 时间戳 PTS: Presentation timestamp DTS: Decoding time...

直播知识结构整理

2019-07-02
阅读 1 分钟
2.5k
文章内容来自于逻辑教育公开课。 总结:以上主要是对音视频开发中用到的相关知识进行了一个整理,囊括了流媒体知识、直播技术点、直播架构、音频知识点。

FFmpeg组织结构

2019-06-29
阅读 1 分钟
2.3k
学习ffmpeg之前,我们应该对ffmpeg的组织结构有一个大体的了解。ffmpeg安装好之后,使用cd /usr/local/ffmpeg命令进入到ffmpeg目录下,会看到ffmpeg的4个主要目录。

iOS 中gif图的显示

2019-06-14
阅读 3 分钟
5.5k
一、前言 iOS开发中,大部分时候我们显示一张静态图就可以了,但是有的时候为了UI表现更生动,我就有可能需要展示gif图来达到效果了。 网上找了一下,显示gif图的框架找到了两个。 SDWebImage YYImage 二、显示本地gif图 SDWebImage和YYImage的显示本地图片代码。 {代码...} 三、加载网络的gif图 SDWebImage和YYImage的...

对NSArray和NSMutableArray的深拷贝/浅拷贝的探究

2019-06-14
阅读 5 分钟
6.5k
一、原起 下面两个问题,面试的时候应该经常会被问到。 对NSArray和NSMutableArray进行copy和mutableCopy分别会得到什么样的数组? 当NSString作为一个对象的属性时,我们应该使用strong还是copy来修饰呢? 今年三月份面试的时候,被这两个问题搞得很迷茫,今天特地研究了一下。相信您看完我的这篇文章和我有一样疑惑的...

iOS开发中定义枚举的正确姿势(NS_ENUM VS enum)

2019-05-31
阅读 2 分钟
9.1k
iOS开发中枚举也是经常会用到的数据类型之一。最近在整理别人写的老项目的时候,发现枚举的定义使用了多种方式。 方式1 {代码...} 方式2 {代码...} 方式3 {代码...} 方式4 这种比较特殊支持位操作。 {代码...} 针对于前三种方式,我们应该使用那一种更新好呢? 这是来自Stack Overflow的解释。 First, NS_ENUM uses a ne...

swift中的声明关键字详解

2019-05-26
阅读 9 分钟
4.3k
与声明有关的关键字:class、deinit、enum、extension、func、import、init、let、protocol、static、struct、subscript、typealias和var。

关于#define/extern/static的思考与总结

2019-05-23
阅读 4 分钟
3.9k
全局常量作为开发人员一定是一个比较熟悉的概念。全局常量的写法自然也比较多,最近在进行项目的常量重构时看到了各种各样的写法,其中宏定义占大部分,然而有很多使用宏定义是不规范的,而且宏定义只是在预编译阶段进行文本替换,不进行类型检查,从网上看到大量使用宏定义会拖慢编译速度。

swift开发中那些值得借鉴的写法

2019-05-21
阅读 4 分钟
2.2k
最近在学习swift,从github上下载很多demo进行学习,收获不小,发现了一些不错的写法,记录一下方便以后查询,同时分享给大家,共同成长。

手把手教你把作品上传到github上

2019-05-12
阅读 2 分钟
6.5k
为什么要把自己做的一些东西上传到github上?在软件行业竞争日益激烈的行情下,面试的时候,github上有高Star开源项目,绝对是个加分项。同时知识分享也是一种美德。这种双向受益的事,何乐而不为呢。下面就手把手教你把你自己做的项目上传到github上,让你在面试的时候脱颖而出。

swift5展示全球国家列表

2019-05-12
阅读 1 分钟
2.9k
CountryCodeList是swift5学习的一个项目。主要练习了UITableView的swift使用,使用HandyJson把从本地读取的json文件转化为数据模型数组。全球国家列表的数据来源是之前从一张全球国家列表的sql表中使用Python洗出来的数据,经过处理之后形成了一个Json文件。

马甲包审核被拒对应的处理方案

2019-05-10
阅读 2 分钟
4.6k
马甲包审核被拒,目前网上流传最广的就是2.1和4.3,在查看了很多文章之后,从两篇介绍的比较详细的文章中把这两个大礼包对应条款的解决方案,整理出来,为开发马甲包做一个准备,同时分享个大家。

iOS马甲包上架招式

2019-04-29
阅读 2 分钟
6k
马甲包是利用App store 规则漏洞,通过技术手段,多次上架同一款产品的方法。马甲包和主产品包拥有同样的内容和功能,除了icon和应用名称不能完全一致,其他基本一致。

对MBProgressHUD的二次封装-XBLoadingKit

2019-04-18
阅读 2 分钟
5k
我为什么要对MBProgressHUD进行二次封装?今年新找的这份工作,项目的创建的时间比较早了,2014年创建的项目,项目中现在使用的一些操作提示,既然还是我刚开始从事iOS开发工作的时候就用到的开源的第三方toast。可以说这个开源库的年龄比我的工作年龄都长了,现在早都过时了,而且它的样式不好看,跟MBProgressHUD差远...

如何为Xcode添加漂亮的主题

2019-04-05
阅读 1 分钟
7.5k
作为一名iOS开发者,Xcode是我们每天必须使用的开发工具,但是时间久了,相信很多人每天对着代码就已经很乏味了。时间长了,对我们自己的眼睛也不太好,一个漂亮的主题,既能减少我们写代码、看代码时候的乏味度,还能保护我们的眼睛。主题选择好了,还能看上去高大上,提升我们的逼格,让iOS开发在外人眼里成为艺术的创...