Ios 如何在Swift中使用addAttribute
我正在尝试添加到UITextView的链接,因此我遵循中的代码。相关的Objective-C代码为Ios 如何在Swift中使用addAttribute,ios,swift,Ios,Swift,我正在尝试添加到UITextView的链接,因此我遵循中的代码。相关的Objective-C代码为 NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:@"This is an example by @marcelofabri_"]; [attributedString addAttribute:NSLinkAttributeName
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:@"This is an example by @marcelofabri_"];
[attributedString addAttribute:NSLinkAttributeName
value:@"username://marcelofabri_"
range:[[attributedString string] rangeOfString:@"@marcelofabri_"]];
但当我在Swift 2中尝试这一点时
var attributedString = NSMutableAttributedString(string: "This is an example by @marcelofabri_")
attributedString.addAttribute(NSLinkAttributeName, value: "username://marcelofabri_", range: attributedString.string.rangeOfString("/marcelofabri_"))
我得到了错误
无法使用类型为“(字符串,值:字符串,范围:范围?)的参数列表调用“addAttribute”
要使其正常工作,我需要做哪些更改?根据需要,您使用的是Range而不是NSRange。看看:
尝试使用
NSString
而不是SwiftString
查找范围:
var attributedString = NSMutableAttributedString(string: "This is an example by @marcelofabri_")
attributedString.addAttribute(NSLinkAttributeName, value: "username://marcelofabri_", range: (attributedString.string as NSString).rangeOfString("/marcelofabri_"))
问题是我使用的是
NSAttributedString
而不是NSMutableAttributedString