这段代码波纹管用于在Xcode很好地工作6的β5:NSString.sizeWithAttributes()在夫特联蛋白β7
func fitText(){
let size = (self.text as NSString).sizeWithAttributes([NSFontAttributeName:self.font]) //Errors here
self.frame.size = size
}
现在它给在第二行以下错误:
亚型“UIFont”不是“的NSDictionary”
不能转换表达式的类型'$ T6为键入“UIFont”
当我把它分成
let dict = [NSFontAttributeName:self.font]
let size = (self.text as NSString).sizeWithAttributes(dict) //Even stranger errors go here
Xcode中说:
'UIFont' 不是 '的NSDictionary'
不能转换表达式的类型 '[的NSString:UIFont]' 亚型键入'CGSize'
在测试版7或6中,swift发生了什么变化,它会破坏代码?
解缠米它的工作。任何想法虽然这些乱码错误信息是什么? – Hristo 2014-09-05 13:59:48
呃... swift错误信息从来没有用来找出问题所在。例如,它发生它说一个类不符合协议,但它确实,或者一个类没有某个特定的属性等等。我认为仍然有很多工作仍然留在这个主题上,我希望会尽快解决。 – Antonio 2014-09-05 14:04:15
作为一般规则,当错误信息没有任何意义时,则错误地使用其他的东西 - 但在某些情况下,它是关于可选项。但它也可以是没有@obj属性的协议,通过引用其他属性初始化的类属性,桥接类中泛型的用法等。 – Antonio 2014-09-05 14:08:16