在 NSTextView clicked() 事件上获取 link 作为字符串
Get link as string on NSTextView clicked() event
我写了一个继承自 NSTextview 的 MyTextView class。
我重写了 clicked() 函数,我想获取正在单击的 link 作为字符串。我的代码如下所示:
import Cocoa
class MyTextView: NSTextView
{
override func clicked(onLink: Any, at charIndex: Int) {
// Get onLink parameter as string
}
}
替代点击link
https://developer.apple.com/reference/appkit/nstextview/1449497-clickedonlink?language=objc
第一个参数是 link,类型为 https://developer.apple.com/reference/uikit/nslinkattributename?language=objc,它将为您提供所需的字符串。
如果您只是想将其转换为字符串,请尝试:
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
}
虽然这段代码感觉有点脆弱。
我写了一个继承自 NSTextview 的 MyTextView class。 我重写了 clicked() 函数,我想获取正在单击的 link 作为字符串。我的代码如下所示:
import Cocoa
class MyTextView: NSTextView
{
override func clicked(onLink: Any, at charIndex: Int) {
// Get onLink parameter as string
}
}
替代点击link
https://developer.apple.com/reference/appkit/nstextview/1449497-clickedonlink?language=objc
第一个参数是 link,类型为 https://developer.apple.com/reference/uikit/nslinkattributename?language=objc,它将为您提供所需的字符串。
如果您只是想将其转换为字符串,请尝试:
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
}
虽然这段代码感觉有点脆弱。