swift入门

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift入门相关的知识,希望对你有一定的参考价值。

一.简单使用
1.命名
注意点:不要使用swift—影响编译,不要使用中文加数字,可能造成项目奔溃
2.和oc对比
a.swift的程序入口是@UIApplicationMain
b.OC后缀是.h.m,swift是.swift
c.swift是以class声明类{}--开始结尾
d.OC以;结束 swift 不需要分号,换行为结束
 
3.swift2.0的枚举是大写字母开头,swift3.0的是以小写开头
 
4.swift的类型可以自动推导,但是为了性能,尽量减少使用,可以通过变量名: 类型 来指定变量的类型
 
5.OC里不同类型直接可以运算(因为它含有隐式转换);swift不能进行隐式转换,需要显示转换 
强制转换的两种方式:1.指定变量的类型,不使用自动推导
                                  2.类型(要转换的类型)
 
二.可选项
1.可选项:1).要么有值要么没值 2).可选项不能直接运算,直接运算的话需要解包
2.概念:在声明的变量/常量的类型后面 加一个问号(?)
3.解包有2种方式:
1)强制解包(!) 问题:当可选项没有值得时候,会发生奔溃
使用场景:在确保有值的情况,是可以强制解包
2)非强制解包(??) :防止奔溃,设置备用值
 
三 条件语句
1.大括号不能省略
 
2.三目运算符不能省略小括号,容易出问题
 
3.if let 新变量名 = 可选项 { 新变量名的作用域 } 针对于可选项
a.解释1).如果可选项为 nil ,则if为假,如果不为nil,这为真
       2).新变量名为解包后的值,作用域仅限于 {} 内
使用
 
b.多个可选项 逗号隔开,并且的关系
使用 
 
4.guard let 语法 和 if let相反 swift2.0推出的 针对于可选项
a.解释1).如果可选项为 nil ,则执行括号内的代码,反之不能执行
          2).新变量为解包后的值,作用域为{}后面
 
5.if let 和guard let 的选取
如果需要代码往下执行,使用if let ,不想往下走的话使用guard let 
 
6.switch case 
a.swift中,不仅仅局限于整形.字符串
b.break在有可执行语句的时候,可以省略,效果和加上一样
c.只有在列举完的前提下才能省略default,一般在列举枚举的时候省略
 
四.字符串
 
1.swift里的string是结构体;OC里的NSString 是对象
2.NSString和String需要互相装换,不能直接互用(as)

以上是关于swift入门的主要内容,如果未能解决你的问题,请参考以下文章

iOS开发入门——17条 Swift 最佳实践规范(下)

Swift快速入门基本数据类型

swift入门

Swift语法入门

iOS8开发~Swift入门

iOS开发入门——17条 Swift 最佳实践规范(上)