{"blog_title":"\u305c\u306e\u305c","url":"https://giarrium.hatenablog.com/entry/2021/08/28/214409","published":"2021-08-28 21:44:09","height":"190","author_name":"gurrium","width":"100%","type":"rich","description":"\u65e5\u8a18 \u4eca\u65e5\u306f\u4f8b\u306e\u30d4\u30b6\u7aaf\u3067\u30c1\u30e3\u30d0\u30bf\u3092\u713c\u3044\u305f\uff0e \u7d50\u69cb\u4e0a\u624b\u304f\u713c\u3051\u305f\u3093\u3058\u3083\u306a\u3044\u304b\uff1f pic.twitter.com/Hb7hxLmQex\u2014 \u3050\u308a (@Gurrium) August 28, 2021 \u4eca\u65e5\u66f8\u3044\u305f\u30b3\u30fc\u30c9 https://docs.swift.org/swift-book/LanguageGuide/Protocols.html import Foundation @objc protocol CounterDataSource { @objc optional func increment(forCount count: Int) -> Int @objc optional var fi\u2026","categories":["Swift"],"provider_name":"Hatena Blog","title":"76\u65e5\u76ee \u4e01\u5be7\u306a\u66ae\u3089\u3057","blog_url":"https://giarrium.hatenablog.com/","image_url":null,"provider_url":"https://hatena.blog","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fgiarrium.hatenablog.com%2Fentry%2F2021%2F08%2F28%2F214409\" title=\"76\u65e5\u76ee \u4e01\u5be7\u306a\u66ae\u3089\u3057 - \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>","author_url":"https://blog.hatena.ne.jp/gurrium/","version":"1.0"}