首页 » iOS编程基础:Swift、Xcode和Cocoa入门指南 » iOS编程基础:Swift、Xcode和Cocoa入门指南全文在线阅读

《iOS编程基础:Swift、Xcode和Cocoa入门指南》1.1 基础

关灯直达底部

一个完整的Swift命令是一条语句。一个Swift文本文件包含了多行文本。换行符是有意义的。一个程序的典型布局就是一行一条语句:


print("hello")print("world")  

(print命令会在Xcode控制台提供即时反馈。)

可以将多条语句放到一行,不过这就需要在语句间加上分号:


print("hello"); print("world")  

可以将分号放到语句的末尾,也可以在一行上单独放置一个分号,不过没人这么做(除了习惯原因之外,因为C和Objective-C要求使用分号):


print("hello");print("world");  

与之相反,单条语句可以放到多行,这样做可以防止一行中出现过长的语句。不过在这样做的时候要注意语句的位置,以免对Swift造成困扰。比如,左圆括号后面就是个不错的位置:


print(    "world")  

一行中双斜线后面的内容会被当作注释(即所谓的C++风格的注释):


print("world") // this is a comment, so Swift ignores it  

还可以将注释放到/*...*/中,就像C一样。与C不同,Swift风格的注释是可以嵌套的。

Swift中的很多构建块都会将花括号用作分隔符:


class Dog {    func bark {        print("woof")    }}  

根据约定,花括号中的内容由换行符开始,并且通过缩进增强可读性,如上述代码所示。Xcode会帮助你应用该约定,不过实际情况却是Swift并不在意这些,像下面这样的布局也是合法的(有时也更加便捷):


class Dog { func bark { print("woof") }}  

Swift是一门编译型语言。这意味着代码必须要先构建(通过编译器,由文本转换为计算机可以理解的某种底层形式),然后再执行并根据指令完成任务。Swift编译器非常严格;在编写程序时,你经常会构建并运行,不过你会发现第一次甚至都无法构建成功,原因就在于编译器会识别出一些错误,如果想让代码运行,你就需要修复这些问题。有时候,编译器会给出一些警告;这时代码可以运行,不过一般情况下,你应该有所警戒并修复编译器报出的警告。编译器的严格性是Swift最强大的优势之一,可以在代码开始运行前提供最大程度的审计正确性。

Swift编译器的错误与警告消息涵盖范围非常广,从洞察性极强到一般性提示再到完全误导人。很多时候,你知道某行代码有问题,不过Swift编译器却不会清晰地告诉你什么地方出错了,甚至连是哪行都不会告诉你。对于这些情况,我的建议是将可能有问题的代码行放到简单的代码块中,直到发现问题所在位置。虽然提示消息有时起不到帮助作用,不过请保持与编译器的亲密接触吧。请记住,虽然编译器有时无法准确地进行描述,但它知道的一定比你多。