しめ鯖日記

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

AnyObjectとは何かを調べてみた

SwiftでAnyObjectをよく見かけるので少し調べてみました。
調べた所Objective-cのidと近そうでした。

独自クラスを入れるのはOKでした。

class MyClass {}

var value: AnyObject = MyClass()
print(value)

NSObjectも入れれる

value = NSObject()
print(value)

Int型も大丈夫でした。

value = 1
print(value)

* ご指摘頂いたのですがIntがStructなのにAnyObjectにセットできるのは特別扱いなようです。

structは入れる事ができませんでした。

struct MyStruct {}

// これはエラー
value = MyStruct()
print(value)

structを入れたい場合はAnyという型で宣言すれば良さそうです。

var value: Any = MyStruct()