2016-09-12 5 views
11

私はこのような何かをしたい:のObjective-CではSwift型をメソッド引数として渡すにはどうすればいいですか?

func doSomething(a: AnyObject, myType: ????) 
{ 
    if let a = a as? myType 
    { 
     //… 
    } 
} 

クラスのクラスは、あなたがパラメータはだけなので、タイプの情報のために使用される一般的な機能を使用する必要がClass

+0

あなたはタイプ 'T.Type'の方法を入力してジェネリックを使用したいと思う、あなたはその後、T ''にキャストすることができます - 例えば参照[このQ&A](HTTPを: //stackoverflow.com/questions/37216240/generic-fu迅速に名前をつける) – Hamish

答えて

30

ましたあなたはTにキャスト:

func doSomething<T>(a: AnyObject, myType: T.Type) { 
    if let a = a as? T { 
     //… 
    } 
} 

// usage 
doSomething("Hello World", myType: String.self) 
関連する問題