しめ鯖日記

swift, iPhoneアプリ開発, ruby on rails等のTipsや入門記事書いてます

Swift3でクラス名が重複した場合の対処法

Swift3では様々なクラス名のプレフィックスがなくなり、NSUserDefaultsUserDefaultsなどのようにクラス名が変更になりました。
今回は、その影響で自分の定義したクラス名と標準クラス名が被った場合の対処法について記載します。

例えばUserDefaultsではFoundationを先頭に付けることでFoundationのUserDefaultsクラスを呼び出せます。

_ = UserDefaults()
_ = Foundation.UserDefaults() // FoundationのUserDefaultsを呼び出し

class UserDefaults {
    // 省略
}

IntやStringはSwiftを先頭に付ける事で呼び出しができます。

_ = Swift.Int()
_ = Swift.String()

UIKitのクラスはUIKitで呼び出し可能です。

UIKit.UITableView()

逆に自分のプロジェクト内のクラスを呼びたい時は、プロジェクト名を先頭に付けます。

MyApp.MyClass()