[解決済み】(Swiftで)オブジェクトの型を調べるには?)
2022-03-31 06:52:20
質問
プログラムを理解しようとするとき、あるいはある種のコーナーケースにおいて、何かがどのような型であるかを知ることは有用である。デバッガが型情報を表示してくれるのは知っているし、そういう状況では型推論に頼って型を指定しないで済ませることもできる。でも、それでも、Pythonの
type()
dynamicType ( この質問 )
更新しました。
は、最近のSwiftのバージョンで変更されています。
obj.dynamicType
は、動的な型のインスタンスではなく、型への参照を与えるようになりました。
これが一番期待できそうなのですが、今のところ実際の型がわからないのです。
class MyClass {
var count = 0
}
let mc = MyClass()
# update: this now evaluates as true
mc.dynamicType === MyClass.self
また、クラスリファレンスを使って新しいオブジェクトをインスタンス化しようとしましたが、これは
する
を追加しなければならないというエラーが発生しました。
required
のイニシャライザを使用します。
が動作します。
class MyClass {
var count = 0
required init() {
}
}
let myClass2 = MyClass.self
let mc2 = MyClass2()
まだ、任意のオブジェクトの型を実際に発見するための小さな一歩に過ぎないが
編集 : 今となっては無関係な詳細を相当数削除しました。興味があれば編集履歴を見てください :)
解決するには?
Swift 3 のバージョン。
type(of: yourObject)
関連
-
[解決済み】 libc++abi.dylib: NSException 型のキャッチできない例外で終了する (lldb)
-
[解決済み] iOS Swift 3 - UIDatePicker
-
[解決済み] キーボードがあるときに、UITextFieldを編集開始時に上に移動させるには?
-
[解決済み] UITableViewの選択を無効にするにはどうすればよいですか?
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
-
[解決済み] Swiftでindexとelementでループを反復させる方法
-
[解決済み] Swiftでリストアイテムのインデックスを見つける方法は?
-
[解決済み] Swiftを使用してアプリのバージョンとビルド番号を取得するにはどうすればよいですか?
-
[解決済み】iOSアプリの名前を変更する方法は?
-
[解決済み】Swiftでオブジェクトが与えられた型かどうかを確認する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】"宣言はファイルスコープでのみ有効 "について
-
[解決済み】NSURLErrorDomainエラーコードの説明
-
[解決済み] Xcode は、[バンドル ID] に一致する iOS App Store プロビジョニングプロファイルを見つけられませんでした。
-
[解決済み] Xcode Simulatorのアニメーションをエディタで再生すると、極端に遅くなる。
-
[解決済み] 警告 xcode 6 で暗黙の変換により整数の精度が失われる
-
[解決済み] なぜibtoolはexit code 255で失敗したのでしょうか?
-
[解決済み] 脱獄したiphoneで`uicache`コマンドは何をするのですか?[クローズド]
-
[解決済み] iOS 9 : ユニバーサルアプリの警告「アプリがフルスクリーンを必要としない限り、すべてのインターフェイスの向きをサポートする必要があります」。
-
[解決済み】Swiftで変数の型またはクラスを表示するにはどうすればよいですか?
-
[解決済み】Swiftでオブジェクトが与えられた型かどうかを確認する