我无法在 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)
    }
}