在Swift中使用显式类型进行迭代

时间:2014-06-15 06:30:16

标签: ios cocoa-touch swift

this question中使用

for score: Int in individualScores {

}

允许您使用显式类型来迭代值。但是,当我尝试使用像这样的对象

for family : UIFont in UIFont.familyNames() {
    println("Fam: \(family)")
}

我收到错误"类型注释与上下文类型不匹配' AnyObject'"导致此错误的原因是什么,以及如何在Swift中迭代NSObject子类?

2 个答案:

答案 0 :(得分:3)

嗯,首先,familyNames返回NSStrings,而不是UIFonts。但是,除此之外,尝试转换数组,而不是迭代的结果:

for family in UIFont.familyNames() as [String] {
    println("fam: \(family)")
}

答案 1 :(得分:1)

简单地说:

for family: AnyObject in UIFont.familyNames() {
   println("Fam: \(family)")
}