当我点击我在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错误。如果我用“texas”之类的东西替换20151230copy,它可以正常工作。这对我来说毫无意义。 亲自尝试一下,你就会明白我的意思。
答案 0 :(得分:3)
我认为这里发生的事情是NSLinkAttribute
value
应该是NSURL
,而不是字符串常量。
请注意错误(... [__NSCFConstantString scheme] ...
),它正在尝试将NSURL selector发送到常量字符串。
答案 1 :(得分:0)
Apple Doc: NSLinkAttributeName 此属性的值是NSURL对象(首选)或NSString对象。此属性的默认值为nil,表示没有链接。
适用于iOS 7.0及更高版本。