65.9K
CodeProject 正在变化。 阅读更多。
Home

"Swift 还是 Objective-C?" 这才是问题所在!

starIconstarIconstarIconstarIconstarIcon

5.00/5 (1投票)

2014 年 10 月 6 日

CPOL

1分钟阅读

viewsIcon

10426

一些关于是选择 Objective-C 还是 Swift 的想法。

引言

如今在 Apple 的世界里,经常有人会问是应该从新的语言 Swift 入手,还是 Objective-C。

背景

我正在使用 Objective-C 编程,但现在正在学习 Swift,并且有一些经验,看到了它的一些优点和缺点。

分号在哪里?

答案如预期:42。这两种语言其实区别不大。它们都使用 LLVM 编译,但 Swift 具有更多更好的优化。此外,“桥接”这两种语言是可行的。Swift 在很多方面都是 Objective-C 的“压缩”版本。 
 
对于初学者,我推荐 Objective-C,因为它是一种常用的语言,并且有大量的代码可用。

Swift 更现代,非常紧凑,因此它真的不需要分号,并且可以用几行代码完成很多事情。例如,它没有头文件,声明也同时定义了类型和值是常量。

let text = "I am a fixed text" // let declares a constant
var number = 10.0 // var declares a variable, the right assigment declares the type double
var state = eStateNormal // a var of my EnumState

备注:也可以显式定义类型,但由于需要初始化,因此通常不需要。

var text:String = "I am a normal text" // declares a normal string

Swift 在处理可选值时会变得棘手。这些是“盒子”类型,可能包含也可能不包含值。由于它们会抛出异常,因此编码人员应该小心处理它们。

var object? //needs no value now

object = "Hello world" //assigment

if let text = object! { //unwrapping the optional
  println("Value is \(value)")  //how to format a string
}

关注点

这是我简短的观点,不想把它变成战场。 

获取详细信息,首先要访问Apple 开发者网站。我喜欢观看 WWDC 视频来入门。

我还推荐查看著名网站 Ray Wenderlich。对于像你这样的初学者来说,视频计划是一个有趣的投资。

我只会在一个新的“白纸”项目中使用 Swift,因为我不喜欢在一个项目中使用多种语言。

历史

初稿。

© . All rights reserved.