Swift 5.0 新特性

Swift 5.0 是 Swift 的下一个主要的 release,随之而来的是 ABI 的稳定性,同时还实现了几个关键的新功能,包括 raw string,未来的枚举 case,Result 类型,检查整数倍数等等。

  • 你可以亲自尝试一下:我创建了一个 Xcode Playground 来展示 Swift 5.0 的新特性,里面有一些你可以参考的例子。

菜鸡是如何度过2018年的

​ 感觉昨天才刚写完 2017 总结,今天就要着手 2018 的年终总结了,心丧~,人到中年,才深深体会到逝者如斯夫的真正含义。 ^.^!

2018 发生了很多,我也成长了很多,这一年无论在工作上还是生活上都走过了一些人生的重要的节点,明显感觉到现在和之前的自己有了很大的进步。就如题目,2018 年对自己的总结定位还是十分贴切的。

iOS 开发中的设计模式下

在这个由两部分组成的教程中,你将了解构建 iOS 应用程序的常见设计模式,以及如何在自己的应用程序中应用这些模式。

更新说明:本教程已由译者针对 iOS 12,Xcode 10 和 Swift 4.2 进行了更新。原帖由教程团队成员 Eli Ganem 发布。

欢迎回到 iOS 设计模式的入门教程第二部分!在 第一部分 中,你已经了解了 Cocoa 中的一些基本模式,比如 MVC、单例和装饰模式。

在最后一部分中,你将了解 iOS 和 OS X 开发中出现的其他基本设计模式:适配器、观察者和备忘录。让我们现在就开始吧!

iOS 开发中的设计模式上

在这个由两部分组成的教程中,你将了解构建 iOS 应用程序的常见设计模式,以及如何在自己的应用程序中应用这些模式。

更新说明:本教程已由译者针对 iOS 12,Xcode 10 和 Swift 4.2 进行了更新。原帖由教程团队成员 Eli Ganem发布。

iOS设计模式 — 你可能已经听过这个术语,但是你知道这意味着什么吗?尽管大多数开发人员可能都认为设计模式非常重要,关于这个主题的文章并不多,我们开发人员在编写代码时有时不会过多地关注设计模式。

设计模式是软件设计中常见问题的可重用解决方案。它们的模板旨在帮助你编写易于理解和重用的代码。它们还可以帮助你创建低耦合度的代码,以便你能更改或替换代码中的组件而避免很多麻烦。

如果你对设计模式不熟悉,那么我有个好消息要告诉你!首先,由于 Cocoa 的架构方式以及它鼓励你使用的最佳实践,你已经使用过了大量的 iOS 设计模式。其次,本教程将快速帮助你理解 Cocoa 中常用的所有重要(还有不那么重要)的 iOS 设计模式。

iOS高级编程ARC笔记

ARC原理

ARC 在编译期插入生命周期的代码,内存管理的方式和MRC一样。
编译器会在合适的地方插入 retain release autorelease delloc 代码来管理对象的生命周期

使用ARC必须遵守的规则:

  1. 不能使用 retain/release/retainCount/autorelease
  2. 不能使用 NSAllocateObject/NSDeallocateObject
  3. 必须遵守内存管理的方法命名规则
  4. 不要显示调用 dealloc
  5. 使用@autorelease块代替NSAutoreleasePool
  6. 不能使用区域(NSZone)
  7. 对象型变量不能作为C语言结构体的成员
  8. 显式转换id和void*

关于单例的一个小思考

单例的生命周期

iOS app 中单例一经创建,全局共享单例对象,单例的生命周期跟随app生命周期,那它的原理是什么呢?