2015-08-26 38 views
5

我試圖添加鏈接到UITextViews,所以我遵循this post中的代碼。有關Objective-C的代碼是如何在Swift中使用addAttribute

NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:@"This is an example by @marcelofabri_"]; 
[attributedString addAttribute:NSLinkAttributeName 
         value:@"username://marcelofabri_" 
         range:[[attributedString string] rangeOfString:@"@marcelofabri_"]]; 

但是當我嘗試這斯威夫特2作爲

var attributedString = NSMutableAttributedString(string: "This is an example by @marcelofabri_") 
attributedString.addAttribute(NSLinkAttributeName, value: "username://marcelofabri_", range: attributedString.string.rangeOfString("/marcelofabri_")) 

我得到的錯誤

不能援引 '的addAttribute' 與參數列表type'(String,value:String,range:Range?)'

我需要更改什麼é讓這個工作?

回答

24

嘗試使用NSString尋找範圍,而不是斯威夫特String

var attributedString = NSMutableAttributedString(string: "This is an example by @marcelofabri_") 
attributedString.addAttribute(NSLinkAttributeName, value: "username://marcelofabri_", range: (attributedString.string as NSString).rangeOfString("/marcelofabri_")) 
+0

的問題是我用的,而不是''NSMutableAttributedString' NSAttributedString' –