240 发简信
IP属地:重庆
  • @Sugarfly 写在一行就好了,Xcode 会自动给你变成两行,写完后双击你的输入就可以看到了

    Swift优化 - 优化编译速度

    找出编译耗时过长的文件 要优化项目的编译速度,首先需要把耗时过长的文件找出来,然后进行重点优化。这里会用到Xcode build的两个OTHER_SWIFT_FLAGS: -...

  • 120
    iOS CocoaPods组件平滑二进制化解决方案

    iOS CocoaPods组件平滑二进制化方案及详细教程 感谢"fly2never_宝贝别哭"。可以使用cocoapods-packager这个插件来方便生成library(...

  • 120
    iOS Mach 异常、Unix 信号 和NSException 异常

    前言 Crash的主要原因是你的应用收到了未处理的信号。 未处理信号可能来源于三个地方:kernel、其他进程、以及App本身。 因此,crash异常也分为三种: Mach异...

  • 120
    如何做到零秒思考(一)

    我们经常会遇到这种情况,老板或同事问了一个问题,我们这边还在抓耳挠腮的想着呢,傍边的人立马就能条理清楚的回答了问题,这个时候就是我们思考力的差别导致的结果。那怎么样能提升?《...

  • 120
    swift脚本编程:一键生成AppIcon

    自从Xcode8之后就不支持插件了,没法用Xcode一键生成AppIcon,一直没找到好的解决方案,一怒之下决定自己写一个脚本用来生成AppIcon,下面是正文,小弟抛砖引玉...

  • 120
    iOS里的动态库和静态库

    介绍 动态库形式:.dylib和.framework 静态库形式:.a和.framework 动态库和静态库的区别 静态库:链接时,静态库会被完整地复制到可执行文件中,被多次...

  • 120
    Android FPS流畅度测试

    前言: 流畅度,是页面在滑动、渲染等过程中的体验。Android系统要求每一帧都要在 16ms 内绘制完成,平滑的完成一帧意味着任何特殊的帧需要执行所有的渲染代码(包括 fr...

  • Swift 和 Objective-C 的比较

    这篇主要是从我个人的开发经验角度,把 Swift 和 Objective-C 进行比较,介绍 Swift 的优缺点,基本上不涉及 Swift 的语法。 Swift 属于入手难...

  • 120
    iOS查看屏幕帧数工具--YYFPSLabel

    学习 YYKit 代码时,发现 ibireme 在项目里加入的一个查看当前屏幕帧数的小工具,效果如下: 挺实用,实现方法也很简单,但是思路特别棒。 Demo: YYFPSLa...

  • 多个版本的 CocoaPods 的切换

    很多 iOS 项目都是基于特定版本的 CocoaPods,使用其他版本的 CocoaPods 执行 pod install 或 pod update 可能出现项目无法编译的问...

  • 120
    cocoapods本地私有库的使用

    本地私有库的使用 前言 在公司项目开发中核心代码是不能上传到cocoapods的远程检索库的,否则你可能会受到法院的飞机票✈️,那么,如果你想让核心库在本地用起来顺心(因为随...

  • 120
    iOS多线程经典崩溃

    0x0 Block 回调的崩溃 在MRC环境下,使用Block 来设置下载成功的图片。当self释放后,weakSelf变成野指针,接着就悲剧了 0x1 多线程下Setter...

  • 如果 `kf` 是希望被其他用户重写的,那么其他用户重写这个属性的意义是什么?重写之后又能干什么?`kf` 的类型为 `Kingfisher`,定义如下。这样一个 final class,你不能创建 SubClass,也就不能直接添加 stored property。如果仅是添加 computed property、associated property 和 method,完全不用自己实现一个 `kf` 属性。

    public final class Kingfisher<Base> {
    public let base: Base
    public init(_ base: Base) {
    self.base = base
    }
    }

    Swift 中另一个非常知名的第三方库就是 SnapKit,我们使用它时也是采用了 `view.snp.makeConstraints(...)` 这种代码风格。`.snp` 的源码如下,也是直接在 Protocol 中提供了一个默认实现,并不支持重写。

    public extension ConstraintLayoutSupport {

    public var snp: ConstraintLayoutSupportDSL {
    return ConstraintLayoutSupportDSL(support: self)
    }

    }

    Kingfisher学习笔记

    Kingfisher Kingfisher是一个使用Swift编写的用于下载和缓存图片的iOS库,是作者王巍受SDWebImage的启发开发了这个纯Swift的库。Kingf...

  • Swift和OC混编下的Enumeration

    在Swift和OC混编的代码中,不可避免的会涉及到Enumeration的混编。这篇文章除了介绍基础的混编知识,还想讲讲混编中遇到的坑。 如何import Enum在Swif...

  • 120
    使用Nib创建View Controller

    当使用可视化方式创建View Controller时,我们通常都是使用Storyboard进行的。我们通常会在同一个Storyboard中创建一大堆的View Control...

个人介绍
喜爱编程,专注iOS开发和Swift