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)

时间: 2024-08-06 07:51:45

swift入门的相关文章

Swift入门(五)——数组(Array)

集合 集合的定义 Swift中提供了两种数据结构用于存放数据的集合,分别是数组(Array)和字典(Dictionary).他们的主要区别在于数组中的元素由下标确定,而字典中的数据的值由数据的键(Key)决定.以下我们认为集合就是数组或字典. 集合的可变性 我们可以定义一个集合常量或者集合变量.一旦定义为常量,就意味着集合的长度.内容和顺序都不能再修改了.比如,定义为常量的数组,不能再向其中添加新的元素. 数组的创建 由于swift中变量的创建遵循" var 变量名:变量类型 "的语法

Swift入门(九)——String与Int、Double、Float等数字相互转换

三种转换模式 任何语言里面,Int.float.double等数字类型自成一派,但它们和String类型之间的转换总是不太方便,这里总结一下它们相互转换的方法.总结下来一共有三种转换模式,分别举例说明. 一.String转数字 这里以String类型转Int类型为例.String转其他的数字类型(Float.Double等)大同小异.主要用到的方法是String类型的toInt方法.注意这个方法返回的是Int?,即一个整数可选类型.所以需要解封. var string = "1234"

Swift入门(三)——元组(Tuple)

定义 元组是一个包含了若干个相关联变量的对象. 元组的创建 var newTuple = ("kt",20) //由于Swift的类型推导,newTuple被推导为(String,Int)类型的变量 元组的解绑 几个变量一旦联合在一起,组成了一个元组,他们就被"绑定"了,要想从一个元组中单独取出某一个数据时,需要解绑元组. 直接解绑 直接解绑是最简单的一种解绑方式,只要定义若干个变量与元组中的变量一一对应即可. var newTuple = ("kt&qu

Swift入门篇-结构体

前面主要是介绍swift语言中基本类型的用法,今天给大家介绍的是swift的结构体的用法,swift中结构体的用法和其他语言的用法,还有不太一样,不过您多敲几遍,就可以理解结构体,结构体在ios开发中是灰常重要的一部分,如果您很好的掌握结构体,在后面ios开发中,会理解的更加清楚. 一:结构体声明 格式: struct 结构体名 { } 说明: 1: struct 是定义结构体的关键字 例子 /* 1:struct 是结构体的关键字 2:student 结构体名称 3:student() 创建一

swift入门篇-函数

今天给大家介绍 swift函数,swift函数和c#,js的写法大致一直,但是与object-c写法有很大不同点.废话不多说,直接开始了. 1:函数  --常量参数 func 函数名( 参数变量:类型 ,参数变量:类型...){} 说明: 1: func 是函数关键字 2:{} 函数体 3: 参数变量是默认常量类型,不能在函数函数体里面直接修改 即 func A (value:String)  与 func A (let value:String)写法是相同的,即value 是常量. 例子 /*

Swift入门篇-集合

一:数组 一:可变数组 定义:数组使用有序列表存储相同类型的多重数据. 格式: 第一种格式 var 变量: 类型[] = [变量值,变量值,...] 第二种格式 var 变量 =[变量值,变量值,...] 说明: 1:[变量值,变量值...] 这样表示数组 ,前提是 变量值的类型必须一值.(和其他语言有所不同) 2:上面两种格式都是定义一个数组,数组中的变量值的类型必须一致 3:第一种格式定义的数组,是直接定义数组,第二种格式定义的数组 是编译器通过类型值推导出是数组格式 注意点 1:常量关键字

Swift入门(十二)——利用Extension添加逆序输出字符串方法

Swift好像没有自带逆序输出字符串的方法,于是决定通过拓展(Extension)给String类添加一个逆序输出字符串的reverse方法. 首先新建一个Swift文件,命名规则不太清楚,于是暂且模仿OC叫做String+Operation吧,然后实现我们需要拓展的方法.下面先贴上代码,然后解释一下这段代码. //String+Operation.swifft import Foundation //逆序输出swift中的字符串 extension String{ func Reverse()

Swift入门(四)——可选类型(Optionals)与断言(Assert)

可选类型是什么? 首先看一个问题,Swift中String类型的变量有一个叫做toInt的方法,可以把String类型变量转换为Int类型变量. var stringValue = "5" var intValue = stringValue.toInt(); println("intvalue = \(intValue)") 执行以上方法后得到了奇怪的结果: intvalue = Optional(5) 其实,可以发现,toInt方法的返回值并不是Int,而是In

Swift入门教程:基本语法大全

原文:Swift入门教程:基本语法大全       简介:                                                                                                                                                                                  什么是Swift                                  

Swift入门篇-Hello World

提示:如果您使用手机和平板电脑看到这篇文章,您请在WIFI的环境下阅读,里面有很多图片, 会浪费很多流量. 博主语文一直都不好(如有什么错别字,请您在下评论)望您谅解,没有上过什么学的 最近这2天主要升级系统和升级开发工具和去啃苹果开发文档,也时常关注一些写swift的文章.自己也边学swift,边做了一些小例子玩.个人感觉语法精炼,用起来还是很爽的. 但是个人觉得开发工具还是有很多不足(如自动提示有时候不出现),希望苹果在发布正式版的时候能修复的更好一点,在后面我会把我犯错的经历写下来. 今天