{"blog_title":"\u305c\u306e\u305c","version":"1.0","categories":["Swift"],"author_name":"gurrium","title":"105\u65e5\u76ee ","provider_url":"https://hatena.blog","published":"2021-09-28 21:18:16","provider_name":"Hatena Blog","description":"\u65e5\u8a18 \u5916\u306b\u51fa\u305f\u304f\u306a\u3044 \u4eca\u65e5\u66f8\u3044\u305f\u30b3\u30fc\u30c9 let arr: [Any] = [\"hoge\", 1] print(type(of: arr[0]), type(of: arr.first), type(of: arr.first!)) // String Optional<Any> String class Sup { func f() -> Self { self } func g() -> String { \"Sup\" } } class Sub: Sup { override func g() -> String { \"Sub\" } } let sub: Sup = Sub() print(\u2026","height":"190","image_url":null,"type":"rich","width":"100%","author_url":"https://blog.hatena.ne.jp/gurrium/","blog_url":"https://giarrium.hatenablog.com/","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fgiarrium.hatenablog.com%2Fentry%2F2021%2F09%2F28%2F211816\" title=\"105\u65e5\u76ee  - \u305c\u306e\u305c\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","url":"https://giarrium.hatenablog.com/entry/2021/09/28/211816"}