当我点击UITextView中的自定义链接时,出现以下崩溃错误。
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFConstantString scheme]: unrecognized selector sent to instance 0x10e7aa098'
这就是我的代码的样子。
NSMutableAttributedString* attrString = [[NSMutableAttributedString alloc] initWithString: @"20151230copy.png"];
NSRange range = NSMakeRange(0, [attrString length]);
[attrString beginEditing];
[attrString addAttribute:NSLinkAttributeName value:@"https://www.youtube.com/" range:range];
[attrString addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:range];
[attrString addAttribute:
NSUnderlineStyleAttributeName value:[NSNumber numberWithInt:NSUnderlineStyleSingle] range:range];
[attrString endEditing];
self.textView.attributedText = attrString;
我看不出我做错了什么,我认为这可能是iOS的错误。如果我把20151230copy换成类似"得克萨斯"的东西,效果很好。这对我来说毫无意义。你自己试试这个,你就会明白我的意思。
我认为这里发生的是NSLinkAttribute
的value
应该是NSURL
,而不是字符串常量。
请注意,在错误(... [__NSCFConstantString scheme] ...
)中,它正试图将NSURL选择器发送到常量字符串。
苹果文档:NSLinkAttributeName此属性的值为NSURL对象(首选)或NSString对象。此属性的默认值为nil,表示没有链接。
在iOS 7.0及更高版本中可用。