如何停止枚举NSAttributedString的属性?

时间:2017-01-09 11:29:18

标签: ios swift nsattributedstring enumeration

enumerateAttribute方法的文档中,关于块的stop参数,说:

  

该块可以将值设置为true以停止进一步处理该集。

但是,在阻止内部,stop参数为let,我无法将其设置为true

我需要在找到第一个属性后停止枚举。我怎么能这样做?

1 个答案:

答案 0 :(得分:8)

参数是保存实际值的参考:

let attributed: NSAttributedString = ...

attributed.enumerateAttribute(
    NSFontAttributeName,
    in: NSRange(location: 0, length: attributed.length),
    options: []
) { value, range, stop in
    stop.pointee = true
}

请参阅UnsafeMutablePointer的参考资料。