swift4 常用属性

  1. @inline(内联)
//声明这个函数绝不(never)编译成内联(inline)的形式
@inline(never)
func foo()  {
    print("爱情也会带来折磨")
}
//声明这个函数总是(always)编译成内联(inline)的形式
@inline(__always)
func foo()  {
    print("爱情也会带来折磨")
}
  1. @discardableResult(结果可丢弃)
//当我们调用foo()方法的时候,如果该方法有返回值,但是返回值我们又不想使用的时候,可以在方法前加上@discardableResult,这样就不会报警告了
@discardableResult
func foo(a:Int) -> String {
    return String(a)
}
  1. @available(可用的)
//introduced:引入;deprecated:弃用; unavailable不可用的
//这里是声明foo()函数只能在iOS上使用不能在OSX等其他设备上使用,而且该方法只能在Target大于8.0且小于10.3能使用。
//unavailable声明该方法不可用,错误信息就是message的提示语。

@available(iOS, introduced: 8.0, deprecated: 10.3, unavailable, message: "这个方法不能用啦")
func foo() { }

4.@noreturn

//@noreturn
func foo() -> Never {
//        return ""
    fatalError("Something very, very bad happened")
}

如果某个函数一定不需要返回参数,可在函数末尾加 -> Never,而不再使用@noreturn

fatalError():致命错误
在调试时我们可以使用断言来排除类似这样的问题,但是断言只会在 Debug 环境中有效,而在 Release 编译中所有的断言都将被禁用。在遇到确实因为输入的错误无法使程序继续运行的时候,我们一般考虑以产生致命错误 (fatalError) 的方式来终止程序。

你可能感兴趣的:(swift4 常用属性)