美文网首页
Swift小运用

Swift小运用

作者: 特恩莱布 | 来源:发表于2016-06-13 21:17 被阅读0次

控制流(即OC中的判断语句)

和OC的区别

1.if后面的小括号可以省略,大括号不能省略

2.swift中if后面的条件语句没有"非0即真"的概念

例子:

let a = 10

if a > 0{

print("a > 0")

}

可选类型的判断 if-let

if-let:先判断可选类型是否为空,不为空创建一个局部常量来接收此时可选类型的值,在执行代码块,否则不执行代码块

例子:

let a:Int? = 11

if a > 0{

print("b = \(a)")

}

let a1:Int? = 10

if let b = a1{

print("b = \(b)")

}

//if-let-where

//where是对定义出来的常量再做一层判断

例子:

if let c = a where c > 5{

print("a > 5")

}

//guard 守护

//是判断可选类型是否有值,没值的话执行else里面的代码块,有值的话不执行代码块,在下面执行

例子:

func demo ()

{

let a:Int? = 10

guard let d = a else {

print("a = nil")

return

}

print("d = \(d)")

}

//  ??->空运算标识符

//??->如果可选类型值不为空的话,会帮我们进行强制解包之后参与运算,如果为nil的话则会提供一个默认值给我们

例子:

var value:Int?

let value1 = (value ?? 5) + 20

print("value1 = \(value1)")

switch

//switch 后面的小括号可以省略

//case 后面的break可以不写,不会造成穿透的效果

//默认default必须添加,而且只能加在最后面

//case后面至少有一条执行语句,case后面的大括号可以省略不写

//switch 不再像OC那样只局限于整型的选择,浮点型,字符等

例子:

let a = 10

switch a

{

case 2:

print("a = 2")

case 3:

print("a = 3")

case 10:

print("a = 10")

print("a = 10")

default:

print("a = nil")

}

循环

for循环

//for 后面的小括号不能写,大括号必须加上

//for -in循环的开区间和闭区间

//for()在swift2.2后面就废弃了

写法一:

for var i = 0;i < 10;i++ {

print(i)

}

for var i = 0;i < 10;i++ {

print(i)

}

//写法二 (闭区间)

for i in 0...10 {//[0,10]

print(i)

}

for i in 0..<10 {//[0,10)开区间

print(i)

}

函数

//swift里面允许函数嵌套,并且外部不可见

//调用的时候尽量不采用self

//类名调用的函数前面加上class

//如果一个类只要求在本类中调用,不希望外部可见,就加上private,UI控件的响应事件不要加上private修饰

例子:

func demo02()->(){

print("无参无返回值02")

}

//有参数无返回值

//格式:func 函数名(外部访问参数 参数:参数类型......){}

//非第一个参数如果没有外部访问参数的话会将形参当成外部访问参数

func lengthOfString(str1:String,str2:String){

print("\(str1)和\(str2)的长度是\(str1.characters.count + str2.characters.count)")

}

//无参数有返回值

func demo04()->String{

return "ss"

}

//有参数有返回值

//格式:func 函数名(参数列表...)->返回值类型

func demo05( var str1:String,str2:String)->String{//实例方法 加上class为类方法

str1 += str2

return str1

}

闭包:

闭包相当于c里面的block,封装了一段有特定功能的代码块

闭包一样可以当函数

//闭包的格式:

/*

{

(输入参数列表...)->返回值类型

in

闭包里面执行的代码块

}

例子:

//无参无返回值闭包

let closure = {

()->()

in

print("这是一个无参无返回值的闭包")

}

//有参数无返回值

let closure1 = {

(str:String)->()

in

print("这是一个输入参数为\(str)的闭包")

}

//无参有返回值

let closure2 = {

()->(Int)

in

let s = "sss"

return s.characters.count

}

//有参有返回值类型

let closure3 = {

(str1:String,str2:String)->Int

in

let str3 = "\(str1)\(str2)"

return str3.characters.count

}

相关文章

  • Swift小运用

    控制流(即OC中的判断语句) 和OC的区别 1.if后面的小括号可以省略,大括号不能省略 2.swift中if后面...

  • Swift 运用协议泛型封装网络层

    Swift 运用协议泛型封装网络层 Swift 运用协议泛型封装网络层

  • swift的运用

    创建一个新的类DealDataimport UIKit protocolDealDataProticol { ...

  • OC/Swift混编

    随着Swift3.0的到来 使得Swift被越来越多的运用在开发中了 但是并不是所有的项目都能完整的使用Swift...

  • UIKit基础使用

    xcode AppDelegate.m创建UIWindow简单运用eg:Objective-C: Swift:使用...

  • Swift优雅的使用Protocol(二) 从Swift说开去

    Swift的Protocol可不仅仅作为OC时代中的代理去运用,当对Swift的Protocol理解足够深的时候,...

  • Swift防止按钮重复点击实现+Swift如何运用Runtime

    Swift防止按钮重复点击实现+Swift如何运用Runtime 做过OC开发的都知道,我们想要给一个系统的类添加...

  • Swift 4.0 轮播图

    笔者这两天运用所学到的swift相关东西,写了一个swift版本的轮播图,一是为了工程需要,二是对swift进行加...

  • swift realm的运用

    前言 由于最近项目中在用Realm,所以把自己实践过程中的一些心得总结分享一下。 Realm是由Y Combina...

  • swift-block运用

    http://www.jianshu.com/p/81f73ececc35http://mp.weixin.qq....

网友评论

      本文标题:Swift小运用

      本文链接:https://www.haomeiwen.com/subject/ihgydttx.html