這段代碼波紋管用於在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