240 发简信
IP属地:天津
  • 总结swift中模式匹配的用法

    看了一些介绍pattern matching的文章,里面有不少种使用用法。总结下来就是两种类型:绑定和判断。模式匹配的起手式是case,这是对传...

  • 应用swift中的.self与.Type

    在开发插件化播放器时遇到了一个插件批量初始化的需求:不同的播放器需要配置不同的插件列表,而每一个插件的构造函数是不同的。所以需要一种通用的方式来...

  • 使用纯Swift编写一个事件代理

    在日常开发中我们经常会遇到这样的场景,有很多模块的delegate需要通过一个公共类来转发回调事件。比如采用MVP模式开发一个复杂的UI交互,其...

  • 在AVPlayer中截取一帧HLS(m3u8)格式图片

    AVPlayer的API真心不友好,一个截屏问题搞得我花了6个小时才彻底解决。在网上搜索会找到两种截屏方案: 使用AVPlayerItemVid...

  • 使用企业证书重新签名iOS App

    在网上查了不少文章最后找到如下方法可以在Xcode8下使用 解压你的ipa包 删除期内的签名文件: rm -rf Payload/Your-XX...

  • 详解weakify(self)与strongify(self)——针对异步回调的block中调用self的情况

    weakify(self)展开后是: __weak typeof(self) __weak_self = self; strongify(sel...

  • 解决git diff认不出project.pbxproj的问题

    git diff总是把project.pbxproj认作binary文件,查了一些答案都说是在.gitattributes文件里面添加:.pbx...

  • 解决在使用cocoapods后链接framework报错问题

    项目中的Podfile使用了内嵌继承这种方式: 然后发现target-Offline编译无问题,target-Online编译在链接时报找不到x...

  • 对swift中的扩展进行"分组"

    在swift中对类和struct进行扩展或使用协议扩展(本质是mixin),是非常简单且实用的语法。但是语法糖太好用了就可能乱用并产生混乱(比如...

个人介绍
洋葱数学里的一枚iOS开发