如何停止枚举NSAttributedString的属性?

9
enumerateAttribute方法的文档中,关于块的stop参数,它被说成这样:

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

然而,在块内部,stop参数是一个let,我无法将其设置为true
我需要在找到第一个属性出现后停止枚举。我该怎么做?

紧密相关:https://dev59.com/vmAf5IYBdhLWcg3w2Voo。 - Martin R
1个回答

22

该参数是一个引用,它保存着实际的值:

let attributed: NSAttributedString = ...

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

请参阅 UnsafeMutablePointer 的参考文档。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接