Swift 在NSTextView clicked()事件上以字符串形式获取链接
我编写了一个从NSTextview继承的MyTextView类。 我重写clicked()函数,并希望获得作为字符串单击的链接。我的代码如下所示:Swift 在NSTextView clicked()事件上以字符串形式获取链接,swift,nstextview,Swift,Nstextview,我编写了一个从NSTextview继承的MyTextView类。 我重写clicked()函数,并希望获得作为字符串单击的链接。我的代码如下所示: import Cocoa class MyTextView: NSTextView { override func clicked(onLink: Any, at charIndex: Int) { // Get onLink parameter as string } } 替代单击联机 第一个参数是链接,它的类型
import Cocoa
class MyTextView: NSTextView
{
override func clicked(onLink: Any, at charIndex: Int) {
// Get onLink parameter as string
}
}
替代单击联机
第一个参数是链接,它的类型将为您提供所需的字符串。如果您只想将其转换为字符串,请尝试:
if let onLinkString = onLink as? String {
//onLinkString is a string
}
我花了一段时间,但最后我用以下方法解决了问题:
override func clicked(onLink: Any, at charIndex: Int) {
let linkStr = (onLink as AnyObject).description as String
}
不过,这段代码确实有点脆弱。您在答案中发布的链接是我正在使用的Swift方法的Objective-C变体:谢谢您的尝试,但它不起作用,因为从未满足if条件。