【问题标题】:_cmd in Swift language [duplicate]Swift 语言中的 _cmd [重复]
【发布时间】:2014-06-30 05:22:01
【问题描述】:

我之前的问题被标记为重复。我试图编辑我的问题,但我无法删除重复的标签,所以我必须创建一个新的 What is the swift equivalent to _cmd?

我想获取当前方法名称以在类似于此的格式消息中使用

[NSExeception raise:NSInternalInconsistencyException format:@"You must override %@ in a subclass", NSStringFromSelector(_cmd)]

另外,我想使用 _cmd 作为键来设置关联对象。有谁知道 Swift 中的 _cmd 等价物,我真的很感激。

【问题讨论】:

  • 您的问题被标记为重复,因为它已经有了答案:请参阅旧问题的链接。如果您觉得不是重复,请访问meta,但请先阅读Help Center
  • 你试过__FUNCTION__吗?如果这不是您想要的,请在原始问题中明确说明。如果需要,我们将重新打开它。
  • 我知道如何使用FUNCTION,但我想要像_cmd这样的东西,因为它可以在其他情况下使用
  • 这真的是 Swift 中没有 _cmd 吗?
  • println(__FUNCTION__)

标签: ios swift selector


【解决方案1】:

没有_cmd,但是你可以使用__FUNCTION__来获取当前函数的名称,大多数时候可以用来代替选择器。

func myUnimplementedMethod() {
    println("You must override \(__FUNCTION__) in a subclass")
}
myUnimplementedMethod()
// prints "You must override myUnimplementedMethod() in a subclass"

【讨论】:

  • 请注意,__FUNCTION__ 在 Swift 2.2 中已替换为 #function
猜你喜欢
  • 2014-08-11
  • 2018-03-08
  • 1970-01-01
  • 2014-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-25
相关资源
最近更新 更多