Swift Playgrounds - 使用未解析的标识符“self”

Posted

技术标签:

【中文标题】Swift Playgrounds - 使用未解析的标识符“self”【英文标题】:Swift Playgrounds - use of unresolved identifier 'self' 【发布时间】:2017-03-10 05:24:56 【问题描述】:

我正在使用 Swift Playgrounds 尝试制作一个交互式应用程序,用户可以在其中单击按钮来执行操作。

let tapGesture = UITapGestureRecognizer(target: self, action: #selector(self.tapBlurButton(_:)))

func tapBlurButton(_ sender: UITapGestureRecognizer) 
print("Please Help!")

它给了我错误:

'使用未解析的标识符 self'

。 如何在 Swift 3 中解决这个问题?

【问题讨论】:

【参考方案1】:

除非在继承自 NSObject 的类中,否则该代码将无法工作。

如果它在一个类中并且您仍然收到该错误,可能是因为tapGesture 是一个属性。属性初始化时一般不能使用self

【讨论】:

【参考方案2】:

将@objc 放在func tapBlurButton 之前...

【讨论】:

【参考方案3】:

把这些代码放在课堂上。

class SomeClass: NSObject 
    [your code with self]

因为self和操场没什么好说的。

还有How to reference Swift Playground itself?

【讨论】:

以上是关于Swift Playgrounds - 使用未解析的标识符“self”的主要内容,如果未能解决你的问题,请参考以下文章

Swift 中 Playgrounds 的用途是啥?

使用 Swift 将结构附加到数组(在 iOS 中失败,但在 Playgrounds 中失败)

iPad 上的 Swift Playgrounds 无法按预期使用 SwiftUI 代码

swift Swift Playgrounds模拟时钟示例。

Swift Playgrounds 中的 JavaScriptCore

在 Swift Playgrounds 中使用 SCNTechnique 和金属着色器