objChen

一直在追求如何更有效率的开展工作


  • 首页

  • 归档

  • 关于

iOS AOP:事务拦截 异常处理 HotFix

发表于 2018-08-20
AOP( Aspect-OrientedProgramming): 面向切面编程 何为面向切面编程? 在运行时,动态地将代码切入到类的指定方法、指定位置上的编程思想就是面向切面的编程。 OOP(Object-oriented programming):面向对象编程 何为面向对象编程? 面向对象编程 ...
阅读全文 »

iOS 项目组件化拆分管理 - CocoaPods

发表于 2018-07-07
背景在执行pod update之前,可以执行pod outdated来查看有哪些pods有新的版本。 当你执行pod update PODNAME时,CocoaPods会尝试发现PODNAME的可更新的版本,而不会去关注Podfile.lock中的版本。它会把依赖更新到最新的版本。 使用 Cocoa ...
阅读全文 »

JS Promise&Generator&Co

发表于 2018-06-05
Generator 和 co首先我们简单了解下 generator: 123456789// 定义一个 generatorsfunction* foo(){ yield console.log("bar"); yield console.log(" ...
阅读全文 »

RAC的消息传递机制「事件处理」

发表于 2018-04-26

ReactiveCocoa事件处理

Event(按钮点击)

1
2
3
[[button rac_signalForControlEvents:UIControlEventTouchUpInside] subscribeNext:^(__kindof UIControl * _Nullable x) {
NSLog(@"button click");
}];
阅读全文 »

iOS NSSetUncaughtExceptionHandler

发表于 2018-04-23
Foundation里面提供了一个NSSetUncaughtExceptionHandler函数,可以设置一个顶层异常处理函数,让我们在程序发生异常并终止前,有最后的机会来捕获并输出异常信息,如下代码所示。 12345678910111213141516171819202122void Uncaug ...
阅读全文 »

聊聊iOS中的PromiseKit

发表于 2018-04-20

项目中使用Block频次很高,经常用到回调闭包多级的嵌套,所以最近对Promise比较感兴趣。

很巧,今天技术群里有人抛出一个问题。一个非常常见的需求,如果是你,你会怎么做?会不会使用一种更优雅的方式?

PM:我们要实现一个下载音频的功能,下载前需要做这些处理。

  1. 如果网络异常,直接提示网络异常并退出下载;
  2. 如果是4G网络,需要弹窗提醒用户选择是否继续下载,用户点击下载后进入下载流程,取消后直接退出下载;
  3. 如果 Wi-Fi 直接进入下载;
  4. 下载时需要获取下载地址,获取到下载地址后,进入下载;
  5. 下载完成需要刷新UI;
阅读全文 »

iOS OC数组遍历

发表于 2018-04-18
遍历一个数组的方法有几种,for, forin, enumerateObjectsUsingBlock:方法。现在用得比较多的可能是enumerateObjectsUsingBlock:,它能很方便地让我们获取到数组中的元素及对应的索引,然后根据这些信息做一些操作,如下代码所示: 123456789 ...
阅读全文 »

iOS block导致EXC_BAD_ACCESS

发表于 2018-04-12
在调用block时,如果这个block为nil,则程序会崩溃,报类似于EXC_BAD_ACCESS(code=1, address=0xc)异常[32位下的结果,如果是64位,则address=0x10]。 在定义一个block时,编译器会在栈上创建一个结构体,类似于图2的结构体。 123456 ...
阅读全文 »

iOS UIImageView gif

发表于 2018-04-02
UIImageView显示gif图片有两种方式。当然前提都是先将gif中的每一帧取出来放到一个个UIImage对象中,将这些对象放到一个数组中,如下代码所示。 1234567891011CGImageSourceRef source = CGImageSourceCreateWithData((__ ...
阅读全文 »

Swift中String与CChar数组的转换

发表于 2018-03-29
在现阶段Swift的编码中,我们还是有很多场景需要调用一些C函数。在Swift与C的混编中,经常遇到的一个问题就是需要在两者中互相转换字符串。在C语言中,字符串通常是用一个char数组来表示,在Swift中,是用CChar数组来表示。从CChar的定义可以看到,其实际上是一个Int8类型,如下所示: ...
阅读全文 »
12…4
chen peng

chen peng

想要待在原地,就得使出全身力量拼命奔跑。

32 日志
5 标签
E-Mail
© 2014 — 2018 chen peng
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4