美文网首页
Swift 中语法糖和??

Swift 中语法糖和??

作者: 90后的晨仔 | 来源:发表于2019-02-21 22:56 被阅读8次

需要练习的小伙伴可以去苹果的官方去敲一遍:
https://docs.swift.org/swift-book/GuidedTour/GuidedTour.html

一、语法糖if let 理解

代码片段一:
var optionalName: String? = "你好!"
var greeting = "Hello!"
if let name = optionalName {
    greeting = "测试, \(name)"
    print(greeting)
}
输出内容:测试, 你好!
代码片段二:
var optionalName: String? = nil
var greeting = "Hello!"
if let name = optionalName {
    greeting = "测试, \(name)"
    print(greeting)
}else{
    greeting = "玩一玩"
    print(greeting)
}
输出内容:玩一玩!

分析:语法糖:if let的搭配使用相精简了代码并切可读性也不差,从代码上我们可以看出如果可选值为nil条件语句就会跳过括号中的代码,否则的话,就会去解包可选值并将其配给常量let,这使得在代码块内可用的展开值可用。

二、??(空合运算符)

在查看苹果官方文档时候看见??,第一反应怎么这家伙怎么这么想三目运算符呢,问了下度娘感觉这篇文章解释的真好。https://www.jianshu.com/p/3ede1ec31351

let nickName: String? = nil
let fullName: String = "John Appleseed"
let informalGreeting = "Hi \(nickName ?? fullName)"

分析:其实??(空合运算符)就做了一件很简单的事情,以上边代码为例,它其实就是对nickName做了一个判断,如果判断nickName为nil的话就取默认的fullName的值,否则nickName不为nil,则将nickName解包后返回。

二、hasSuffix和hasPrefix的区别

hasSuffix(string)返回一个布尔值表示字符串是否以指定的后缀结束。
如果一直返回true 如果不一致返回false

hasPrefix(string)返回一个布尔值表示字符串是否以指定的前缀开始。
如果一直返回true 如果不一致返回false

其实swfit中【hasSuffix和hasPrefix】与oc中的用法和含义是相同的。

相关文章

  • Swift 中语法糖和??

    需要练习的小伙伴可以去苹果的官方去敲一遍:https://docs.swift.org/swift-book/Gu...

  • swift 可选类型(optional)

    可选类型定义 Swift 标准库中定义后缀 ?为可选类型 Optional 的语法糖,这里语法糖...

  • Swift语法糖的使用

    Swift语法糖的使用 语法糖的简介 语法糖Selector例子 语法糖的简介 我个人对语法糖的理解就是让你的代码...

  • Swift语法糖的使用

    Swift语法糖的使用 这个是哪里看的忘记了,反正内容不是我写的 语法糖的简介 语法糖Selector例子 语法糖...

  • 对swift中的扩展进行"分组"

    在swift中对类和struct进行扩展或使用协议扩展(本质是mixin),是非常简单且实用的语法。但是语法糖太好...

  • swift - 语法糖 - ??

    声明变量的时候指定为空时候的默认值var font = tFont ?? UIFont.systemFont(...

  • swift 语法糖

    if let 与 guard 语法糖 话说if let 和 guard 只是语法糖,没有也可以,但有了可以使得代码...

  • swift 语法糖

    String 根据index找到string中的character #[https://blog.csdn.net...

  • Flutter开发-Dart语言基础-2

    接着上篇Dart语言基础. 运算符 Dart和其他语言一样多种,支持多种运算. 点运算语法糖 点运算和Swift中...

  • switf小笔记

    不怎么写swift记录一下先 Swift:Selector 语法糖 引用自 https://developer.5...

网友评论

      本文标题:Swift 中语法糖和??

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