一尘不染

如何声明Swift中的计算属性“抛出”?

swift

class SomeClass {
  var someProperty: Int {
    throw Err("SNAFU")
  }
}

对于上述代码,快速二进制文件抱怨“未处理错误,因为未将封闭函数声明为” throws”。

我如何在上面声明“ someProperty”“抛出”?

class SomeClass {
  var someProperty throws: Int {
  }
}

class SomeClass {
  var someProperty: throws Int {
  }
}

class SomeClass {
  var someProperty: Int throws {
  }
}

似乎不起作用。


阅读 250

收藏
2020-07-07

共1个答案

一尘不染

Swift 5更新:仍然不可能。

从Swift 3开始:

您不能从计算的属性中抛出。如果要抛出,必须使用一个函数。Swift编程语言末尾的
语言参考”部分“声明”部分仅列出(和)作为函数和初始化声明的关键字。throws``rethrows

2020-07-07