我无法在 Swift 3 中枚举 NSAttributed 文本
I'm unable to enumerate an NSAttributed Text in Swift 3
我无法在 swift 中正确编译它 3. 我 运行 遇到了
的问题
此处为实际代码。我不确定为什么它在代码中要求额外的 ,
data2 = items.data(using: .utf8)
attrString = NSAttributedString(htmlData:data2!,options:[DTDefaultFontSize:13.0,DTDefaultFontFamily:"Verdana",DTDefaultFirstLineHeadIndent:5.0],documentAttributes:nil)
print(attrString)
attrString?.enumerateAttribute(NSAttachmentAttributeName , in: NSMakeRange(0, (attrString?.length)!), options: 0, using:^(id value,NSRange range,BOOL *test){
if(value){
print(value)
}
})
您必须复制了一个 Objective-C
示例,但没有将其完全转换为 swift
。块语法和 if(value) 之类的内容有效 Objective-C
但无效 swift
。以下代码在 Swift-playground
:
中正常工作
let attrString = NSAttributedString(string: "test", attributes: [NSForegroundColorAttributeName : UIColor.red, NSUnderlineColorAttributeName : UIColor.green])
attrString.enumerateAttribute(NSForegroundColorAttributeName , in: NSMakeRange(0, attrString.length), options: [.longestEffectiveRangeNotRequired]) { value, range, isStop in
if let value = value {
print(value)
}
}
我无法在 swift 中正确编译它 3. 我 运行 遇到了
的问题此处为实际代码。我不确定为什么它在代码中要求额外的 ,
data2 = items.data(using: .utf8)
attrString = NSAttributedString(htmlData:data2!,options:[DTDefaultFontSize:13.0,DTDefaultFontFamily:"Verdana",DTDefaultFirstLineHeadIndent:5.0],documentAttributes:nil)
print(attrString)
attrString?.enumerateAttribute(NSAttachmentAttributeName , in: NSMakeRange(0, (attrString?.length)!), options: 0, using:^(id value,NSRange range,BOOL *test){
if(value){
print(value)
}
})
您必须复制了一个 Objective-C
示例,但没有将其完全转换为 swift
。块语法和 if(value) 之类的内容有效 Objective-C
但无效 swift
。以下代码在 Swift-playground
:
let attrString = NSAttributedString(string: "test", attributes: [NSForegroundColorAttributeName : UIColor.red, NSUnderlineColorAttributeName : UIColor.green])
attrString.enumerateAttribute(NSForegroundColorAttributeName , in: NSMakeRange(0, attrString.length), options: [.longestEffectiveRangeNotRequired]) { value, range, isStop in
if let value = value {
print(value)
}
}