美文网首页
Swift 的关键字和符号

Swift 的关键字和符号

作者: CDLOG | 来源:发表于2018-10-11 10:22 被阅读186次

1,Swift--Any和AnyObject的区别

AnyObject:可以代表任何class类型的实例;
Any:可以代表任何类型,甚至包括方法(func)类型。

2,? 代表可选类型

格式 :var 变量名: 变量类型? = 初始值
可选类型表示:
有值,等于 x
或者
没有值

var serverResponseCode: Int? = 404

3,!强制解析

当确定可选类型有值的时候,进行类型的解析。使用 ! 来获取一个不存在的可选值会导致运行时错误。使用 ! 来强制解析值之前,一定要确定可选包含一个非 nil 的值。

serverResponseCode!

4,可选绑定

使用可选绑定(optional binding)来判断可选类型是否包含值,如果包含这个值会自动强制解析并赋给一个临时常量或者变量。可选绑定可以用在 if 和 while 语句中,这条语句不仅可以用来判断可选类型中是否有值,同时可以将可选类型中的值赋给一个常量或者变量。

if let actualNumber = Int(possibleNumber) 

5,隐式解析可选类型

第一次被赋值之后,可以确定一个可选类型总会有值。可以把隐式解析可选类型当做一个可以自动解析的可选类型。你要做的只是声明的时候把感叹号放到类型的结尾,而不是每次取值的可选名字的结尾。

let assumedString: String! = "An implicitly unwrapped optional string."

6,空合运算符??

空合运算符(a ?? b)将对可选类型 a 进行空判断,如果 a 包含一个值就进行解封,否则就返回一个默认值 b。表达式 a 必须是 Optional 类型。默认值 b 的类型必须要和 a 存储值的类型保持一致。

7,忽略参数标签_

每个函数参数都有一个参数标签( argument label )以及一个参数名称( parameter name )。参数标签在调用函数的时候使用;调用的时候需要将函数的参数标签写在对应的参数前面。参数名称在函数的实现中使用。默认情况下,函数参数使用参数名称来作为它们的参数标签。

func someFunction(firstParameterName: Int, secondParameterName: Int) {
    // 在函数体内,firstParameterName 和 secondParameterName 代表参数中的第一个和第二个参数值
}
someFunction(firstParameterName: 1, secondParameterName: 2)
func someFunction(argumentLabel parameterName: Int) {
    // 在函数体内,parameterName 代表参数值
}

如果你不希望为某个参数添加一个标签,可以使用一个下划线(_)来代替一个明确的参数标签。

func someFunction(_ firstParameterName: Int, secondParameterName: Int) {
     // 在函数体内,firstParameterName 和 secondParameterName 代表参数中的第一个和第二个参数值
}
someFunction(1, secondParameterName: 2)

8,@objc,#selector

参考https://www.jianshu.com/p/a62cca62e4eehttps://www.jianshu.com/p/a56776a578fe
因为函数选取是在Obj-C名字空间里做,所以需要用@objc修饰需要暴露给Obj-C的函数。
Swift 中的 Selector 就是 Objective-C 中的 SEL, 在 SWift 中重新封装成结构体, 并扩展了一些方法。也同样提供了使用字符串的进行初始化。语法糖 #selector,允许使用编辑器的自动补全功能,杜绝了直接使用字符串导致错误的可能,同时还会检查当前的方法是否支持动态派发。

9,swift 中 as as! as? 的区别

参考https://blog.csdn.net/binglan520/article/details/54631223
用于类型转换,确定可以转换用!,不确定用?

相关文章

  • 【Swift 3 && C++11】<第一

    |Swift|C++:-:|:-:|:-:有用的关键字和符号|<>, where|template,<> 先来介绍...

  • Swift 的关键字和符号

    1,Swift--Any和AnyObject的区别 AnyObject:可以代表任何class类型的实例;Any:...

  • Swift 难点

    关于Swift的闭包,尾随闭包,Swift 中类型检测使用关键字is,类型转换使用关键字as。Any类,和AnyC...

  • swift之mutating关键字

    部分参考:swift之mutating关键字 swift中在structures和enumerations的方法中...

  • swift的常见关键字与特性

    一、简介 关键字 指swift已经使用的字段,如let var等。特性 通过在@符号后跟一个特性名称与参数,来声明...

  • Swift 中的数值类型

    整数 Swift 提供了 8,16,32 和 64 位编码的有符号和无符号整数 命名方式:例如 8 位无符号整数的...

  • swift基本数据类型

    整数 Swift 提供了 8,16,32 和 64 位编码的有符号和无符号整数 命名方式:例如 8 位无符号整数的...

  • Swift学习笔记(二)

    Swift函数 Swift函数包含参数类型和返回值类型 函数定义 Swift使用关键字func定义函数。 函数定义...

  • ES6的一些笔记(一)

    变量的声明关键字 var与let和swift很像,但是考虑到语言先后的时间swift是在模仿js,在swift语言...

  • iOS9新特性之常见关键字

    苹果为什么要推出关键字? 迎合swift,swift强语言,OC弱语言,swift必须描述属性有没有值 关键字注意...

网友评论

      本文标题:Swift 的关键字和符号

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