【发布时间】:2016-04-05 05:00:32
【问题描述】:
我有这个闭包(我在这里有很多 THX 到 dfri!)并且不知道如何转换它:
let attributesOverRanges = fooAttrString.getAttributes()
for (rng, attributes) in attributesOverRanges {
print("Attributes over range \(rng):")
attributes.forEach { print("\t\($0.0) = \($0.1)") }
}
这是一些结果行:
Attributes over range (0,12):
NSFont == <UICTFont: 0x7fc7f2d31330> font-family: "Helvetica Neue";
font-weight: bold; font-style: normal; font-size: 17.00pt
现在我必须得到信息
- NSRange
- NSFont
- 字体系列:“Helvetica Neue”;字体粗细:粗体;字体样式:正常;字体大小:17.00pt
并将其放入数组/字典中。我尝试了很多,但我无法解决这个问题,感觉就像我似乎是绝对的纽比(英语很糟糕)! :-(
你能帮帮我吗
在@rickster 的回答之后,我尝试使用粗体字体。但我得到一个错误,因为 let value = $0.0 不检索字符串而是字体。我可以将字体转换为字符串吗???我必须在字符串中找到“粗体”。或者你知道另一种检查粗体的方法
let attributesOverRanges = fooAttrString.getAttributes()
var newAttributes: [(NSRange, String)] = []
for (rng, attributes) in attributesOverRanges {
attributes.forEach {
let value = $0.0
if value.contains("font-weight: bold") { // ERROR
newAttributes.append((rng, "Bold"))
}
}
print(newAttributes)
}
【问题讨论】:
标签: xcode swift dictionary closures