代码改变世界

UIBackgroundTaskIdentifier 进入后台后结束任务再挂起APP

2019-01-15 14:20 by 法子, 2335 阅读, 0 推荐, 收藏, 编辑
摘要:App进入后台,(绝大部分情况下)会暂停执行代码,进入挂起状态。 有时候,某个任务进入后台后,我们希望它完成任务后再挂起。可以用UIBackgroundTaskIdentifier标记该任务,任务结束后再结束标记。标记之后的任务,在执行的时候,即使App进入后台,也会执行完成(大约有不超过10分钟的 阅读全文

swift convenience

2019-01-14 10:28 by 法子, 1537 阅读, 0 推荐, 收藏, 编辑
摘要:原文:https://www.cnblogs.com/Jepson1218/p/5317800.html Objective-C的初始化很不安全。 swift 中不加修饰的 init 方法都需要在方法中保证所有非 Optional 得实例变量被赋值初始化,而在子类中也强制(显示或隐式的)调用 sup 阅读全文

swift final

2019-01-14 09:40 by 法子, 438 阅读, 0 推荐, 收藏, 编辑
摘要:原文:https://www.jianshu.com/p/97225a04a4b4 Swift中,final关键字可以在class、func和var前修饰,表示不允许对其修饰的内容进行继承或者重新操作。 1)类或者方法的功能确实已经完备了这种通常是一些辅助性质的工具类或者方法,特别那种只包含类方法而 阅读全文

Objective-C的消息传递与转发

2018-12-27 16:21 by 法子, 626 阅读, 0 推荐, 收藏, 编辑
摘要:注意:本文中”消息”和”方法”意思相同。 在读一些比较"秀"的代码时候,遇到声明了方法但没实现,父类也没实现,仍然可以正常运行。这是利用了Objective-C是消息型语言,通过重写系统函数,在运行时实现了消息的转发: 在函数里返回实现了方法的对象(参见下面讲解的第2.->(2)->①阶段) 如果不 阅读全文

NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END

2018-12-27 15:09 by 法子, 522 阅读, 0 推荐, 收藏, 编辑
摘要:原文:https://www.jianshu.com/p/a197705a44e9 Objective-C为了和Swift兼容,每个属性或每个方法都去指定nonnull和nullable。 苹果为了减轻我们的工作量,定义了NS_ASSUME_NONNULL_BEGIN和NS_ASSUME_NONNU 阅读全文

单例

2018-12-26 15:37 by 法子, 186 阅读, 0 推荐, 收藏, 编辑
摘要:希望能在全局方便访问的实例,或者在 app 的生命周期中只应该存在一个的对象,一般都会使用单例来存储和访问 Swift Object-C 阅读全文

Xcode添加新字体

2018-12-14 18:31 by 法子, 2437 阅读, 0 推荐, 收藏, 编辑
摘要:注意:很多字体是不能免费用于商业盈利的,也就是说要获得版权许可。 1.把字体文件(后缀为.ttf、.otf)添加到项目中,打开项目的Info窗口,在Custom Target Properties下创建一个新条目"Fonts provided by application",类型为Array。然后将 阅读全文

swift自定义运算符

2018-12-13 14:04 by 法子, 592 阅读, 0 推荐, 收藏, 编辑
摘要:参考:https://www.jianshu.com/p/4f025476701a 阅读全文

CGVector Extension

2018-12-13 10:44 by 法子, 611 阅读, 0 推荐, 收藏, 编辑
摘要:向量的大小、求和、正规化等 阅读全文

enum打印 CustomStringConvertible

2018-12-12 10:37 by 法子, 407 阅读, 0 推荐, 收藏, 编辑
摘要:CustomStringConvertible协议可以用来打印自定义的类和结构体 enum DownUpPhase: CustomStringConvertible { case MovingDown, MovingUp var description: String { get { switch s... 阅读全文