swift 断言与先决条件的用法

//
//  AssertPrecondition.swift
//  SwiftCode
//
//  Created by Alisa on 2020/8/21.
//  Copyright © 2020 Alisa. All rights reserved.
//

import UIKit

//断言与先决条件
class AssertPrecondition: NSObject {

    //断言的用法
    func assertWork(age : Int) {
        
        /*
         1 断言的作用
         断言会在运行的时候检查一个逻辑条件是否为true,如果条件判断为true,代码运行会继续,如果条件为false,
         代码会运行结束,应用也会被终止
         2 断言适合应用的场景
         在编写程序时,如果很明确的知道不可用的状态发生在什么时候,这个时候很适合插入一个断言,断言中也可以加入
         断言的注释信息
       */
        
        //场景:当age的年龄不是大于零的值时,插入断言
        if age > 0 && age < 10 {
            print("You can ride the ferris wheel")
        }
        else if age > 10{
            print("You can ride the roller-coaster or the ferris wheel.")
        }
        else{
            //加入断言并给出触发断言时的错误信息
            assertionFailure("A person's age can‘t be less than zero。")
            /*程序运行后,会在这一行报错,并给出如下报错信息:
             Fatal error: A person's age can‘t be less than zero。: file /Users/alisa/Desktop/SwiftCode/SwiftCode/Features/AssertPrecondition.swift, line 35
          */
        }
    }
    
    //先决条件的用法
    func preconditionWork(num : Int) {
        /*
         1 适合使用的场景
         在代码中任何条件可能潜在为假但必须肯定为真才能继续执行的地方使用先决条件
         2 先决条件的用法
         使用precondition(_:_:file:line:)函数来实现先决条件,可以给这个函数传入一个表达式、一个错误的报错
         文字信息,当表达式判定的结果为false时信息就会显示出来
       */
        
        //当num大于100时判定条件为false,就触发先决条件,程序就会报错,并提示对应的错误信息为自己设置的信息
        precondition(num < 100, "the num less than 100 is error!")
        /* 控制台提示的错误信息如下:
         Precondition failed: the num less than 100 is error!: file /Users/alisa/Desktop/SwiftCode/SwiftCode/Features/AssertPrecondition.swift, line 53
       */
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值