美文网首页
Swift中常见关键字解释

Swift中常见关键字解释

作者: 闻道刘 | 来源:发表于2016-10-17 11:10 被阅读32次

Swift中关键字比较多,大部份刚开始学的时候看到这么多有点慌,初步整理一份,持续更新。

Like an if statement, guard executes statements based on a Boolean value of an expression. Unlike an if statement, guard
statements only run if the conditions are not met. You can think of guard more like anAssert , but rather than crashing, you can gracefully exit.

和if语句类似,也是根据bool值来判断,但guard只有在条件不满足的时候触发。你也可以把它看作一种异常处理。

问号是optional的缩写。Swift里不会自动给变量赋初始值,也就是说变量不会有默认值,所以要求使用变量之前必须要对其初始化。
一旦声明为Optional的,如果不显式的赋值就会有个默认值nil。

  • !

感叹号表示“所修饰的这个符号里面的值一定是非nil的。

swift中有个双问号操作符(??),可以用来快速对nil进行条件判断, 对于不期望某个optional值为nil时func返回nil 或者 因为其值为nil而停止了后续业务的情况下,我们可以用"??"在optionalValue为nil时做赋值保险操作(“??”操作后返回值为非optional)
用法:
newValue = optionalValue ?? value
若optionalValue非nil时,newValue的值为optionalValue的值,若optionalValue为nil时,newValue的值为value的值

上面几个关键字是swift的访问控制符

private 访问级别所修饰的属性或者方法只能在当前类里访问。
fileprivate 访问级别所修饰的属性或者方法在当前的Swift源文件里可以访问。
internal 访问级别所修饰的属性或方法在源代码所在的整个模块都可以访问。
如果是框架或者库代码,则在整个框架内部都可以访问,框架由外部代码所引用时,则不可以访问。
如果是App代码,也是在整个App代码,也是在整个App内部可以访问。
public 可以被任何人访问。但其他module中不可以被override和继承,而在module内可以被override和继承。
open 可以被任何人使用,包括override和继承。

let 代表修饰的是常量,不可变。
var 修饰的是变量,可变。

和oc类似,在现有类和结构体的类型基础上,扩展新的功能。

下划线的功能有很多,主要是用来占位,但具体占位的作用可以参考上面的链接。

主要用来 声明外部函数名,

  • ...
    --

和省略号的作用是一样的,代表后面还有很多,比如多个参数。又或者代表某个范围1...5

  • $
    --

为了能够在实例方法中修改属性值,可以在方法定义前添加关键字mutating

如果我们希望一个函数可以修改它的参数变量的值,我们可以使用 inout 关键词。这个相当于编程语言概念中所谓的传址调用。

使用@objc修饰后的类型,可以直接供 Objective-C 调用

对于函数,类,协议等,可以使用@available声明这些类型的生命周期依赖于特定的平台和操作系统版本。而#available用在判断语句中(if, guard, while等),在不同的平台上做不同的逻辑。

相关文章

  • Swift中常见关键字解释

    Swift中关键字比较多,大部份刚开始学的时候看到这么多有点慌,初步整理一份,持续更新。 guard-- http...

  • Swift-关键字

    Swift关键字汇总如下: 一: 常见使用频繁的关键字: 1,访问修饰符:在swift中,访问修饰符有五种,分别是...

  • Swift 5.0-typealias与associatedty

    Swift 中关键字typealias重命名与associatedtype关联对象,在实际开发中比较常见。 typ...

  • iOS9新特性常用关键字和泛性

    一、常见关键字 xcode7 ,ios9为了迎合swift,新出了一些关键字:nullable、nonnull、n...

  • iOS9新特性常用关键字和泛性

    一、常见关键字 xcode7 ,ios9为了迎合swift,新出了一些关键字:nullable、nonnull、n...

  • swift之mutating关键字

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

  • Swift 常见关键字

    inout 声明参数为指针传递(相对于值传递)参考链接: http://www.jianshu.com/p/bf7...

  • Swift 之关键字总结

    Swift 中有多少关键字? 在Swift官方文档的词汇结构中, 有非常多的关键字, 它们被用于声明中、语句中、表...

  • 435,Swift - mutating关键字的使用(面试点:在

    Swift中mutating关键字 Swift中protocol的功能比OC中强大很多,不仅能再class中实现,...

  • Swift关键字总结

    Swift中有多少关键字?在Swift官方文档的词汇结构中, 有非常多的关键字, 它们被用于声明中、语句中、表达式...

网友评论

      本文标题:Swift中常见关键字解释

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