2016-12-17 14 views
1

私はプログラミングに慣れていません。 アイテムの検索に使用されるfuncを作成する必要があり、アイテムが見つかった場合は印刷する必要があります。例:列挙型にアクセスして機能させる方法Swift 3.0

enum Grocery { 
    case Wine 
    case Pork 
    case Onion 
} 
enum RecipePorkWithWine: String { 
    case Wine = "2 Glasses" 
    case Pork = "4 Pieces" 
    case Onion= "2 pcs" 

レシピを検索するfuncを作成する方法、およびレシピが見つかった場合はレシピを印刷する必要があります。

答えて

3

食料品を定義し、領収書

enum Grocery { 
    case wine(num: Int) 
    case pork(num: Int) 
    case onion(num: Int) 

    func printRecipe() { 
    switch self { 
    case .wine(let num): print("\(num) Glasses") 
    case .pork(let num): print("\(num) Pieces") 
    case .onion(let num): print("\(num) pcs") 
    } 
    } 
} 

class Receipt { 
    var grocerys: [Grocery] = [] 

    func add(grocery: Grocery) { 
    grocerys.append(grocery) 
    } 

    func printRecipe() { 
    grocerys.forEach { $0.printRecipe() } 
    } 
} 

ユースケース

Grocery.onion(num: 10).printRecipe()

Grocery.pork(num: 2).printRecipe()

レシートモデルを用い

let receipt = Receipt() 
receipt.add(grocery: .onion(num: 2)) 
receipt.add(grocery: .pork(num: 4)) 
receipt.add(grocery: .wine(num: 2)) 
receipt.printRecipe() 

出力

2 pcs 
4 Pieces 
2 Glasses 
関連する問題