1. ホーム
  2. スイフト

[解決済み】Swiftでオブジェクトが与えられた型かどうかを確認する

2022-03-28 07:08:50

質問

で構成される配列があります。 AnyObject . これを反復処理し、配列のインスタンスであるすべての要素を見つけたい。

Swiftでオブジェクトが与えられた型であるかどうかを確認するにはどうすればよいですか?

どのように解決するのですか?

特定の型に対してチェックを行いたい場合は、以下のようにすることができます。

if let stringArray = obj as? [String] {
    // obj is a string array. Do something with stringArray
}
else {
    // obj is not a string array
}

as!"を使用すると、次のような場合にランタイムエラーを発生させます。 obj が型でない場合 [String]

let stringArray = obj as! [String]

また、1要素ずつチェックすることも可能です。

let items : [Any] = ["Hello", "World"]
for obj in items {
   if let str = obj as? String {
      // obj is a String. Do something with str
   }
   else {
      // obj is not a String
   }
}