2014-12-06 90 views
0

我是新來的迅速和想使用enumeration枚舉不工作,預計聲明

enum students : String { 
     case Joseph = "Joseph", Matt = "Matt", Cody = "Cody", Rick = "Rick" 

     static let allValues = [Joseph, Matt, Cody, Rick] 

     for Joseph in students.allValues{ 
     studentPic.image = UIImage(named: "joseph.gif") 
     studentLabel.alpha = 1 
     studentLabel.text = "Joseph is an A+ student" 
     } 
     for Matt in students.allValues{ 
     studentPic.image = UIImage(named: "matt.gif") 
     studentLabel.alpha = 1 
     studentLabel.text = "Matt is a B+ student" 
     } 
     for Cody in students.allValues{ 
     studentPic.image = UIImage(named: "cody.gif") 
     studentLabel.alpha = 1 
     studentLabel.text = "Cody is a C+ student" 
     } 
     for Rick in students.allValues{ 
     studentPic.image = UIImage(named: "rick.gif") 
     studentLabel.alpha = 1 
     studentLabel.text = "Rick is a D+ student" 
     } 

    } 

我得到「Expected declaration」的第一行:

for Joseph in students.allValues 

有誰知道爲什麼?

回答

1

你已經把任意代碼放在enum的主體中 - 這是行不通的。您需要func聲明或變量聲明(儘管如果它們是存儲屬性,則可能不在enum中)。修復您的代碼:

enum students : String { 
    case Joseph = "Joseph", Matt = "Matt", Cody = "Cody", Rick = "Rick" 

    static let allValues = [Joseph, Matt, Cody, Rick] 

    func doSomething() { 
     for Joseph in students.allValues{ 
     studentPic.image = UIImage(named: "joseph.gif") 
     studentLabel.alpha = 1 
     studentLabel.text = "Joseph is an A+ student" 
     } 
     // ... 
    } 
    } 
-1

我在將現有objC代碼遷移到swift時遇到同樣的問題。

我必須要解決的是將包含枚舉的類(在我的情況下是`Constants.h)導入橋接頭。

希望它可以幫助別人。