2017-08-14 4 views
0

これまでに質問されている場合は申し訳ありませんが、私は答えを見つけることができません。私は関数のカスタムパラメータ型を作成したいと思います。Swift 3のカスタムパラメータタイプ

typedefの定義/タイプ

direction 
{ 
    LeftToRight, 
    RightToLeft 
}; 

機能:?

class func animateIn (dir:direction) 
{ 
    if dir = LeftToRight 
    { 
     // animate left to right 
    } 
    else 
    { 
     // animate right to left 
    } 
} 

コール:

animateIn (dir:LeftToRight) 
+1

あなたが列挙型を使用することができます。 'enum Direction { case leftToRight、rightToLeft } 方向を向ける:Direction = .rightToLeft' –

答えて

2

enumはこの使用のための完璧な候補者です。 enumにさらに多くのケースがある場合は、switch文も関数内で実行可能なように見えます。

enum Direction { 
    case leftToRight, rightToLeft 
} 

class func animateIn(dir: Direction){ 
    switch dir{ 
    case .leftToRight: 
     //do something 
    case .rightToLeft: 
     //do something 
    } 
} 
+1

魅力的なように働きましたありがとうございました! – Jared

1
enum Direction 
{ 
    case leftToRight, rightToLeft 
} 

機能:

class func animateIn(dir:Direction) 
{ 
    switch dir { 
    case .leftToRight: 
     // animate left to right 
    default: 
     // animate right to left  
    } 
} 

コール:

animateIn(dir:.leftToRight) 
+0

'default'から推論させるのではなく、明示的に' .rightToLeft'という名前を付ける方が良いです。それはそのようにはっきりしています。 – Alexander