2016-12-26 44 views
7

我一直在關注由Apple創建的Swift App教程here。具體來說,我試圖設置一些自定義按鈕來創建評級控制。這些按鈕有三個與其關聯的圖像:emptyStar,filledStar和highlightStar,以用於按鈕的不同狀態。Swift中的預期模式錯誤?

我使用的代碼完全由蘋果公司提供的,但我不知道爲什麼我一直得到儘可能截圖所示這個編譯時神祕的錯誤Expected patternExpected pattern errors Image Assets

我在做什麼這裏錯了嗎?

+2

這' imageName'實際上是快捷方式'#imageLiteral(資源名稱:)',它是編譯時'的UIImage(命名爲:)'。 – user28434

回答

10

愚蠢的我和Xcode,這是代碼自動完成功能,讓我困惑。

在第一個屏幕截圖中顯示的代碼中的小圖標不是很好的視覺裝飾,與我的變量名稱相匹配(儘管我喜歡這些智能「emojis」裝飾我的代碼)。他們表明,我在let之後聲明的內容不是變量,而是本身。

您必須小心,因爲在聲明常量時,在鍵入時不接受自動完成並堅持使用正常文本。在這樣的聲明之後,你會看到有兩個不同的名字,例如,emptyStar的同名 - 一個是圖像,另一個是常量。

Two empty stars

下面是最後的代碼,幾乎沒有明顯的視覺變化!

Final working code