与Objective-C不同的Swift功能

Flatiron已决定在程序的后半部分将重点更多地放在Swift上,因此我决定将更多精力放在这种新语言上,这将在接下来的几个月以及以后的时间里学习。 Swift具有许多我真的很喜欢的新功能,以下是其中的一些:

可读性

Swift摆脱了Objective-C传统约定。 这是什么意思?

  • 不再需要@符号来区分Objective-C类型或与对象相关的关键字
  • 结束行时不再有分号
  • if / else语句中的条件表达式不带括号
  • 方法调用不会相互嵌套。 Swift方法和函数在括号内使用行业标准的逗号分隔参数列表。 以下是目标C的示例:

由于所有这些更改,用Swift编写的代码通常更短,更简洁,并且类似于自然的英语,从而使程序员更容易更快地采用它。

保养

Objective-C需要两个代码文件来缩短构建时间,即头文件和实现文件,而Swift则不需要这些文件,因为Xcode和LLVM(低级虚拟机“模块化和可重用的编译器和工具链技术的集合”)可以推断依赖关系并自动建立。

类型安全

使用类型安全,您可以清楚代码中的值的类型,从而避免出现诸如期望String却返回Int之类的错误。 在编译代码时进行Swift类型检查,以便您可以及早修复错误。 分配文字值时,自动指定类型,但是您需要显式指定常量还是变量。 如果您将值分配为100,则Swift会将其推断为Int;如果您将值分配为“ Hello Flatiron!”,则将因引号而将其推断为String。

选装件

当调用返回nil(uninitialized)的方法时,没有任何反应。 这可能导致许多错误。 输入Optionals类型,它通过让您知道有一个值和它为x或根本没有值来处理缺少值的情况。

游乐场

这样一来,无需创建全新的项目,即可测试代码段。 使用时,它会在右侧显示您的预期收益,并在出现错误时提供反馈或建议。 我发现这非常有用,因为它使我能够通过反复试验有效地学习概念。 尽管对于经验丰富的程序员来说,它似乎更有用,但它无疑帮助了像我这样的新手掌握了简单的概念。