{"id":3026,"date":"2017-05-20T16:03:42","date_gmt":"2017-05-20T07:03:42","guid":{"rendered":"http:\/\/redwing.moo.jp\/cocoa\/?p=3026"},"modified":"2017-05-20T16:03:42","modified_gmt":"2017-05-20T07:03:42","slug":"swift-3-%e3%82%af%e3%83%ad%e3%83%bc%e3%82%b8%e3%83%a3%e3%83%bc%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6","status":"publish","type":"post","link":"https:\/\/redwing.moo.jp\/cocoa\/archives\/3026","title":{"rendered":"Swift 3 \u30af\u30ed\u30fc\u30b8\u30e3\u30fc\u306b\u3064\u3044\u3066"},"content":{"rendered":"<p>\u30af\u30ed\u30fc\u30b8\u30e3\u30fc\u306b\u3064\u3044\u3066\u5c11\u3057\u77e5\u8b58\u304c\u6574\u7406\u3067\u304d\u3066\u3044\u306a\u304b\u3063\u305f\u306e\u3067\uff0c\u30e1\u30e2\u3057\u3066\u304a\u304d\u307e\u3059\uff0e<br \/>\n\u306a\u3093\u3068\u306a\u304f\u4f7f\u3048\u308b\u3051\u3069\uff0c\u4e00\u304b\u3089\u30af\u30ed\u30fc\u30b8\u30e3\u30fc\u3092\u4f5c\u308b\u3068\u3044\u308d\u3044\u308d\u7591\u554f\u304c\u3067\u3066\u304d\u305f\u306e\u3067\u81ea\u5206\u7528\u306b\u307e\u3068\u3081\u3066\u307f\u307e\u3057\u305f\uff0e<br \/>\n\u5f8c\u306b\u306a\u3063\u3066\u8003\u3048\u308b\u3068\u6700\u521d\u306b\u3053\u308c\u3092\u77e5\u3063\u3066\u304a\u3051\u3070\u7406\u89e3\u304c\u65e9\u304b\u3063\u305f\u306e\u306b\u3068\u3044\u3046\u3053\u3068\u3092\u5fd8\u308c\u306a\u3044\u3088\u3046\u306b\u30e1\u30e2\u3057\u307e\u3057\u305f\uff0e<\/p>\n<h4>\u25bc \u30af\u30ed\u30fc\u30b8\u30e3\u30fc\u306e\u6587\u6cd5<\/h4>\n<pre lang=\"objc\" line=\"1\">\r\n{ (\u5f15\u6570) -> \u8fd4\u5024\u306e\u578b in\r\n\t\u51e6\u7406\r\n}\r\n<\/pre>\n<h4>\u25bc \u30af\u30ed\u30fc\u30b8\u30e3\u30fc\u3092\u7406\u89e3\u3059\u308b\u3068\u304d\u306b\u77e5\u3063\u3066\u304a\u304f\u3068\u826f\u3044\u3053\u3068<\/h4>\n<p>&#8211; Swift \u30af\u30ed\u30fc\u30b8\u30e3\u30fc\u306f\uff0c\u5f15\u6570\u3068\u8fd4\u5024\u306e\u578b\u3092\u63a8\u8ad6\u3057\u3066\u304f\u308c\u308b\uff0e<br \/>\n&#8211; \u5f15\u6570\u306e\uff08\uff09\u304c\u7701\u7565\u3067\u304d\u308b\uff0e<br \/>\n&#8211; \u8fd4\u5024\u3092\u7701\u7565\u3067\u304d\u308b\uff0e<br \/>\n&#8211; \u8fd4\u5024\u3092\u6697\u9ed9\u306b\u8fd4\u3057\u3066\u304f\u308c\u308b\uff0e\uff08\u30af\u30ed\u30fc\u30b8\u30e3\u51e6\u7406\u304c1\u884c\u306e\u5834\u5408\uff0creturn \u3082\u7701\u7565\u3067\u304d\u308b\uff09<br \/>\n&#8211; \u5f15\u6570\u3082\u7565\u5f0f\u3067\u304b\u3051\u308b\uff0e\uff08$0, $1, $2 \u3068\u3044\u3046\u3088\u3046\u306b\u8a18\u8ff0\u3067\u304d\u308b\uff09<br \/>\n&#8211; \u6700\u5f8c\u306e\u5f15\u6570\u304c\u30af\u30ed\u30fc\u30b8\u30e3\u30fc\u306e\u5834\u5408\uff0c\u5916\u306b\u914d\u7f6e\u3067\u304d\u308b\uff0e\uff08\uff08\uff09\u5185\u306e\u5f15\u6570\u304b\u3089\u5916\u306b\u7f6e\u3051\u308b\uff0eTrailing Closures\uff09<\/p>\n<p>&#8211; [weak self]<br \/>\n&#8211; @escaping<\/p>\n<h4>\u25bc \u4e0a\u8a18\u306e\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9<\/h4>\n<pre lang=\"objc\" line=\"1\">\r\n\/\/ \u6587\u6cd5\u3069\u304a\u308a\u306e\u30af\u30ed\u30fc\u30b8\u30e3\u30fc\r\nlet closureA = {(x: String) -> String in\r\n    return x + \"closureA\u306e\u51e6\u7406\"\r\n}\r\nprint(closureA(\"closureA:\")) \/\/ closureA:closureA\u306e\u51e6\u7406\r\n\r\n\/\/ \u6697\u9ed9\u3092\u5229\u7528\u3057\u305f\u7701\u7565\u8a18\u6cd5\u306e\u30af\u30ed\u30fc\u30b8\u30e3\u30fc\r\nlet closureB = { x in\r\n    x + \"closureB\u306e\u51e6\u7406\"\r\n}\r\nprint(closureB(\"closureB:\")) \/\/ closureB:closureB\u306e\u51e6\u7406\r\n\r\n\/\/ \u30af\u30ed\u30fc\u30b8\u30e3\u30fc\u3092\u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6e21\u3059\u5b9a\u7fa9\r\n\/\/ (\u7b2c2\u5f15\u6570\u306e\u30af\u30ed\u30fc\u30b8\u30e3\u30fc\u306b\u7b2c1\u5f15\u6570\u306e\u6587\u5b57\u3092\u6e21\u3059\u95a2\u6570)\r\nfunc closureParamA(_ x: String, _ y:(String) -> String) -> String {\r\n    return y(x)\r\n}\r\n\r\n\/\/ \u6700\u5f8c\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u306b\u30af\u30ed\u30fc\u30b8\u30e3\u30fc\u3092\u6e21\u3059\r\n\/\/ (\u65e2\u5b58\u306e\u30af\u30ed\u30fc\u30b8\u30e3\u30fc\u306b\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u6e21\u3059\u95a2\u6570\u304c\u66f8\u3051\u308b)\r\nlet param1 = closureParamA(\"closureParamA1:\", closureA)\r\nprint(param1) \/\/ closureParamA1:closureA\u306e\u51e6\u7406\r\n\r\n\/\/ \u6700\u5f8c\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u306e\u30af\u30ed\u30fc\u30b8\u30e3\u30fc\u3092\uff08\uff09\u306e\u5916\u306b\u914d\u7f6e\u3059\u308b\r\n\/\/ (\u65b0\u305f\u306b\u30af\u30ed\u30fc\u30b8\u30e3\u30fc\u306b\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u6e21\u3059\u95a2\u6570\u304c\u66f8\u3051\u308b)\r\nlet param2 = closureParamA(\"closureParamA2:\") { x in\r\n    x + \"closureParam\u306e\u51e6\u7406\"\r\n}\r\nprint(param2) \/\/ closureParamA2:closureParam\u306e\u51e6\u7406\r\n\r\n\/\/ \u30af\u30ed\u30fc\u30b8\u30e3\u30fc\u5b9a\u7fa9\u3092\u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u66f8\u304f\u306e\u304c\u5927\u5909\u306a\u306e\u3067\uff0ctypealias \u3092\u4f7f\u3046\r\ntypealias closureType = (String) -> String\r\nfunc closureParamB(_ x: String, _ y:closureType) -> String {\r\n    return y(x)\r\n}\r\n\r\nlet param3 = closureParamB(\"closureParamB:\", closureA)\r\nprint(param3) \/\/ closureParamB:closureA\u306e\u51e6\u7406\r\n\r\n<\/pre>\n<a href=\"https:\/\/twitter.com\/redwing1300?ref_src=twsrc%5Etfw\" class=\"twitter-follow-button\" data-size=\"large\" data-show-count=\"false\">Follow @redwing1300<\/a><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content --><div id=\"redwi-3945578004\" class=\"redwi- redwi-entity-placement\"><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-9652476346722993\" crossorigin=\"anonymous\"><\/script><ins class=\"adsbygoogle\" style=\"display:block;\" data-ad-client=\"ca-pub-9652476346722993\" \ndata-ad-slot=\"\" \ndata-ad-format=\"auto\"><\/ins>\n<script> \n(adsbygoogle = window.adsbygoogle || []).push({}); \n<\/script>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>\u30af\u30ed\u30fc\u30b8\u30e3\u30fc\u306b\u3064\u3044\u3066\u5c11\u3057\u77e5\u8b58\u304c\u6574\u7406\u3067\u304d\u3066\u3044\u306a\u304b\u3063\u305f\u306e\u3067\uff0c\u30e1\u30e2\u3057\u3066\u304a\u304d\u307e\u3059\uff0e \u306a\u3093\u3068\u306a\u304f\u4f7f\u3048\u308b\u3051\u3069\uff0c\u4e00\u304b\u3089\u30af\u30ed\u30fc\u30b8\u30e3\u30fc\u3092\u4f5c\u308b\u3068\u3044\u308d\u3044\u308d\u7591\u554f\u304c\u3067\u3066\u304d\u305f\u306e\u3067\u81ea\u5206\u7528\u306b\u307e\u3068\u3081\u3066\u307f\u307e\u3057\u305f\uff0e \u5f8c\u306b\u306a\u3063\u3066\u8003\u3048\u308b\u3068\u6700\u521d\u306b\u3053\u308c\u3092\u77e5\u3063\u3066\u304a\u3051\u3070 &hellip; <a href=\"https:\/\/redwing.moo.jp\/cocoa\/archives\/3026\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"meta-nav\">&rarr;<\/span><\/a><!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[116,171],"tags":[177],"class_list":["post-3026","post","type-post","status-publish","format-standard","hentry","category-swift","category-xcode8","tag-177"],"_links":{"self":[{"href":"https:\/\/redwing.moo.jp\/cocoa\/wp-json\/wp\/v2\/posts\/3026","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/redwing.moo.jp\/cocoa\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/redwing.moo.jp\/cocoa\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/redwing.moo.jp\/cocoa\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/redwing.moo.jp\/cocoa\/wp-json\/wp\/v2\/comments?post=3026"}],"version-history":[{"count":3,"href":"https:\/\/redwing.moo.jp\/cocoa\/wp-json\/wp\/v2\/posts\/3026\/revisions"}],"predecessor-version":[{"id":3029,"href":"https:\/\/redwing.moo.jp\/cocoa\/wp-json\/wp\/v2\/posts\/3026\/revisions\/3029"}],"wp:attachment":[{"href":"https:\/\/redwing.moo.jp\/cocoa\/wp-json\/wp\/v2\/media?parent=3026"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/redwing.moo.jp\/cocoa\/wp-json\/wp\/v2\/categories?post=3026"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/redwing.moo.jp\/cocoa\/wp-json\/wp\/v2\/tags?post=3026"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}