{"id":1128,"date":"2021-09-13T20:34:53","date_gmt":"2021-09-13T11:34:53","guid":{"rendered":"https:\/\/blog.enyou.net\/ko\/?p=1128"},"modified":"2021-09-13T20:38:42","modified_gmt":"2021-09-13T11:38:42","slug":"combine-%ec%82%b4%ed%8e%b4%eb%b3%b4%ea%b8%b0-operator","status":"publish","type":"post","link":"https:\/\/blog.enyou.net\/ko\/archives\/1128","title":{"rendered":"Combine \uc0b4\ud3b4\ubcf4\uae30: Operator"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Operator<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Methods that create downstream publishers or subscribers to act on the elements they receive.<\/p><p>\uc774\ubca4\ud2b8\ub97c \ubc1b\ub294 \uc2dc\uc810\uc5d0 \uac12\uc5d0 \uc791\uc6a9\uc744 \ud558\ub294 \ud558\uc704 \ud37c\ube14\ub9ac\uc154 \ub610\ub294 \uc11c\ube0c\uc2a4\ud06c\ub77c\uc774\ubc84\ub97c \ub9cc\ub4dc\ub294 \uba54\uc18c\ub4dc<\/p><\/blockquote>\n\n\n\n<p>\uc624\ud37c\ub808\uc774\ud130\ub294 \ud2b9\uc815\ud55c \ud0c0\uc785\uc740 \uc544\ub2c8\uc9c0\ub9cc, Combine\uc744 \uad6c\uc131\ud558\ub294 \uc8fc\uc694\ud55c 3\ub300 \uc694\uc18c\uc774\ub2e4. Combine\uc5d0\uc11c\ub294 \ud37c\ube14\ub9ac\uc154\uc5d0\uc11c <strong>\uba54\uc18c\ub4dc \ud615\ud0dc<\/strong>\ub85c \uc0ac\uc6a9\ub418\ub294 \ud558\uc704 \ud37c\ube14\ub9ac\uc154\ub098 \uc11c\ube0c\uc2a4\ud06c\ub77c\uc774\ubc84\ub85c \uc815\uc758\ud558\uace0 \uc788\ub2e4. RX\uc5d0\uc11c\ub294 \uba54\uc18c\ub4dc \ud615\ud0dc\ub77c\uace0 \uc815\uc758\ud55c \uac83\uc740 \uc544\ub2c8\uc9c0\ub9cc, RXSwift\uc5d0 \ud55c\uc815\ud558\uba74 Combine\uacfc \uac19\ub2e4.<sup class=\"modern-footnotes-footnote \" data-mfn=\"1\" data-mfn-post-scope=\"00000000000005670000000000000000_1128\"><a href=\"javascript:void(0)\"  role=\"button\" aria-pressed=\"false\" aria-describedby=\"mfn-content-00000000000005670000000000000000_1128-1\">1<\/a><\/sup><span id=\"mfn-content-00000000000005670000000000000000_1128-1\" role=\"tooltip\" class=\"modern-footnotes-footnote__note\" tabindex=\"0\" data-mfn=\"1\">\uc5b8\uc5b4\uc5d0 \ub530\ub77c\uc11c,&nbsp;Publisher\uc758 \uba54\uc18c\ub4dc\uac00 \uc544\ub2cc \ub2e4\ub978 \ud615\ud0dc\uc758 function\uc73c\ub85c \uc801\uc6a9\ud55c\ub2e4\ub358\uac00 \ud558\ub294 \ucc28\uc774\uc810\uc774 \uc874\uc7ac\ud560 \uc218 \uc788\uc744 \uac83 \uac19\ub2e4.<\/span><\/p>\n\n\n\n<p>Operator\uac00 \uc788\uc73c\ubbc0\ub85c\uc11c \ub2e4\uc591\ud55c \ubc29\uc2dd\uc73c\ub85c \uc2dc\ud000\uc2a4\uac00 \ubcc0\ud615\ub420 \uc218 \uc788\ub2e4.&nbsp;\ub610\ud55c,&nbsp;Operator&nbsp;\uac1c\ub150\uc740 \ud568\uc218\ud615 \ud504\ub85c\uadf8\ub798\ubc0d\uc758 \uc601\ud5a5\uc744 \ubc1b\uc740 \uac83\uc73c\ub85c \uc0dd\uac01\ub41c\ub2e4.&nbsp;Combine\uc758 \uc774\ub984\uc774 Combine\uc778 \uac83\ub3c4, Operator\uc758 \uc601\ud5a5\uc744 \ubc1b\uc558\ub2e4\uace0 \uc0dd\uac01\ud558\ub294\ub370, \uc2e4\uc81c\ub85c \ud569\uc131\uc774\ub098 \ubcc0\ud658\uc740 Operator\uc5d0\uc11c \uc774\ub8e8\uc5b4\uc9c0\uae30 \ub54c\ubb38\uc774\ub2e4. Combine\uacfc RXSwift \ubaa8\ub450, \uae30\uc874 \uc2a4\uc704\ud504\ud2b8\uc5d0\uc11c \uc0ac\uc6a9\ud558\uace0 \uc788\ub294 \ud568\uc218\ub4e4\uacfc \uc720\uc0ac\ud55c \uc0ac\uc6a9\uc131\uc744 Operator\uc5d0\uc11c \uc81c\uacf5\ud55c\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Publisher\ub85c \uc791\uc131\ub41c Operator<\/h3>\n\n\n\n<p>\uc624\ud37c\ub808\uc774\ud130\uc758 \ub3d9\uc791\uc744 \ubcf4\uba74, Publisher\ub85c \uc791\uc131\ub41c Operator\ub77c\ub3c4, \uc0c1\uc704 \uc2a4\ud2b8\ub9bc\uc744 \uad00\ucc30\ud55c \ub2e4\uc74c \ud558\uc704 \uc2a4\ud2b8\ub9bc\uc73c\ub85c \ubcc0\ud615\ud558\ub294 \ubaa8\uc2b5\uc744 \ubcf4\uc778\ub2e4. \ub530\ub77c\uc11c, \ub0b4\uac00 \uc0dd\uac01\ud558\uae30\uc5d0\ub294 Operator\ub3c4 Subscriber\uc5ec\uc57c \ud558\ub294 \uac8c \uc544\ub2cc\uac00 \ud558\ub294 \uc758\uc544\ud568\uc774 \uc788\uc5c8\ub2e4. Combine\uc758 \uad6c\ud604\uc740 \uc228\uaca8\uc838\uc788\uae30 \ub54c\ubb38\uc5d0 \ubcfc \uc218 \uc5c6\uc9c0\ub9cc, \ube44\uc2b7\ud55c RXSwift\uc758 \ucf54\ub4dc\ub97c \uc0b4\ud3b4\ubd24\ub2e4. \uc608\ub97c \ub4e4\uc5b4, Map Operator\ub294 \ub0b4\ubd80\uc801\uc73c\ub85c Map\uc774\ub77c\ub294 Observable\uacfc MapSink\ub77c\ub294 Observer\uac00 \uc788\ub2e4. \uc2e4\uc81c\ub85c map() \uc624\ud37c\ub808\uc774\ud130\ub97c \ud638\ucd9c\ud588\uc744 \ub54c, \uc0dd\uc131\ub418\ub294 \uac83\uc740 Observable\uc778 Map\uc774\uc9c0\ub9cc, Map\uc740 \ub0b4\ubd80\uc801\uc73c\ub85c MapSink\ub77c\ub294 Observer\ub97c \ub9cc\ub4e4\uc5b4 \uc0c1\uc704 \uc2a4\ud2b8\ub9bc\uc744 \uad00\ucc30\ud55c\ub2e4. \uadf8 \ub2e4\uc74c MapSink\ub294 Map\uc73c\ub85c \ubd80\ud130 \uc804\ub2ec\ubc1b\uc740 \ubcc0\ud615 \ud568\uc218\ub97c \uc774\uc6a9\ud558\uc5ec \ubcc0\ud615\ud558\uace0, \uc804\ub2ec\ud574\uc918\uc57c \ud558\ub294 \ub2e4\uc74c \uc635\uc800\ubc84\uc5d0 \uc790\uc2e0\uc774 \uc0dd\uc131\ud55c \uac12\uc744 \ud3ec\uc6cc\ub529\ud55c\ub2e4. \uc774\ub7f0 \ubc29\uc2dd\uc73c\ub85c, Operator\uc758 Publisher\ub294 \uad00\ucc30\uc744 \uc218\ud589\ud560 \ucc45\uc784\uc744 \ub0b4\ubd80\uc758 \uc635\uc800\ubc84\uc5d0 \uc704\uc784\ud558\uc5ec \ud558\uc704 \uc2a4\ud2b8\ub9bc\uc744 \uc0dd\uc131\ud560 \uc218 \uc788\ub2e4. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Sink\uc640 Assign<\/h3>\n\n\n\n<p>\uc624\ud37c\ub808\uc774\ud130\ub294 Publisher\uc77c \uc218\ub3c4 \uc788\uace0, Subscriber\uc77c \uc218\ub3c4 \uc788\ub2e4. \uadf8\ub7f0\ub370, \ub300\ubd80\ubd84\uc758 \uacbd\uc6b0\ub294 Publisher\uc774\uace0, \ucef4\ubc14\uc778\uc5d0\uc11c \ubbf8\ub9ac \uc815\uc758\ub41c Subscriber\uc778 Operator\ub294 sink\uc640 assign\ub9cc \uc874\uc7ac\ud55c\ub2e4. \ud37c\ube14\ub9ac\uc154\uc778 Operator\ub294 \ud37c\ube14\ub9ac\uc154\ub97c \ub9cc\ud658\ud558\ub294\ub370 \ube44\ud574, \uc774\ub4e4\uc740 \ucd5c\uc885 \uad6c\ub3c5\uc790\uc774\uae30 \ub54c\ubb38\uc778\uc9c0 Canclellable\ub85c \ubc18\ud658\ub41c\ub2e4. AnyCancllable\ub85c \ubc18\ud658\ub418\uae30 \ub54c\ubb38\uc5d0 \uc218\uc6d4\ud788 Collection\uc758 \ud615\ud0dc\ub85c \uad00\ub9ac\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p>RX\uc5d0\uc11c\ub294 subscribe() \uba54\uc18c\ub4dc\ub97c \uc81c\uacf5\ud558\uace0, RXCocoa\uc5d0\uc11c assign()\uc5d0 \ub300\uc751\ub418\ub294 bind(to:)\ub97c \uc81c\uacf5\ud55c\ub2e4.<sup class=\"modern-footnotes-footnote \" data-mfn=\"2\" data-mfn-post-scope=\"00000000000005670000000000000000_1128\"><a href=\"javascript:void(0)\"  role=\"button\" aria-pressed=\"false\" aria-describedby=\"mfn-content-00000000000005670000000000000000_1128-2\">2<\/a><\/sup><span id=\"mfn-content-00000000000005670000000000000000_1128-2\" role=\"tooltip\" class=\"modern-footnotes-footnote__note\" tabindex=\"0\" data-mfn=\"2\">assign()\uacfc bind(to:)\ub294 \ubbf8\ubb18\ud558\uac8c \ub2e4\ub974\ub2e4.&nbsp;assign()\uc740 \ub9d0 \uadf8\ub300\ub85c \ud2b9\uc815 \uc624\ube0c\uc81d\ud2b8\ub098 \ud37c\ube14\ub9ac\uc154\uc5d0 \uac12\uc744 \ud560\ub2f9\ud558\ub294 \uc6a9\ub3c4\ub85c \uc4f4\ub2e4.&nbsp;\uc2e4\ud328\uac00 Never\uc778 Publisher\uc5d0 \ubd99\uc774\uba74\uc11c&nbsp;Publisher \ub610\ub294, \uc624\ube0c\uc81d\ud2b8\uc640 KeyPath\ub9cc \uc81c\uacf5\ud558\uba74 \ub41c\ub2e4.&nbsp;\uadf8\ub7ec\ub098 \ubc14\uc778\ub529\uc758 \uacbd\uc6b0\uc5d0\ub294 UI \ucef4\ud3ec\ub10c\ud2b8\ub97c \ud2b9\uc815 \uac12\uc5d0 \ub9e4\uce6d\uc2dc\ud0a4\uae30 \uc704\ud55c RXCocoa\uc758 \uc635\uc800\ubc84\ub85c \ub2e4\uc74c\uacfc \uac19\uc740 \ud2b9\uc131\uc774 \uc788\ub2e4.&nbsp;1.&nbsp;\ud56d\uc0c1 \uba54\uc778\uc2a4\ub808\ub4dc\uc5d0\uc11c \uc2e4\ud589\ub41c\ub2e4.&nbsp;2.&nbsp;\uc5d0\ub7ec\ub97c \ubb34\uc2dc\ud55c\ub2e4.&nbsp;3.&nbsp;Binder \uc624\ube0c\uc81d\ub97c \uc81c\uacf5\ud574\uc57c\ud568.&nbsp;(<a href=\"http:\/\/rx-marin.com\/post\/rxswift-custom-bindings\/\" data-type=\"URL\" data-id=\"http:\/\/rx-marin.com\/post\/rxswift-custom-bindings\/\">\ucc38\uc870\ub9c1\ud06c 1<\/a>,&nbsp;<a href=\"https:\/\/fomaios.tistory.com\/m\/entry\/RxCocoa-bind%EB%9E%80\" data-type=\"URL\" data-id=\"https:\/\/fomaios.tistory.com\/m\/entry\/RxCocoa-bind%EB%9E%80\">\ucc38\uc870\ub9c1\ud06c 2<\/a>).&nbsp;\uc544\ub9c8\ub3c4 Combine\uc758 \uacbd\uc6b0\uc5d0\ub294 SwiftUI&nbsp;\ud658\uacbd\uc744 \uc704\ud574 \uc791\uc131\ub418\uc5c8\uae30\ub3c4 \ud558\uba70,&nbsp;\uae30\ubcf8\uc801\uc73c\ub85c RXCocoa\uc640\ub294 \ub2ec\ub9ac Cocoa Framework\ub9cc\uc744 \uc5fc\ub450\uc5d0 \ub454 \uac83\uc774 \uc544\ub2c8\ub77c\uc11c \uc774\ub7f0 \ucc28\uc774\uac00 \uc0dd\uae34 \uac83 \uac19\ub2e4.&nbsp;(\ub450 \ubb38\uc7a5\uc774 \uc870\uae08 \ubaa8\uc21c\uc801\uc774\uae34 \ud55c\ub370,&nbsp;SwiftUI&nbsp;\ud658\uacbd\uc744 \uace0\ub824\ud558\uba74,&nbsp;RXCocoa\uc758 bind(to:)\uc758 \ud2b9\uc131\uc774 assign()\uc5d0\ub294 \ud544\uc694\uac00 \uc5c6\uc73c\ub2c8\uae4c.)<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Operator Methods that create downstream publishers or subscribers to act on the elements they receive. \uc774\ubca4\ud2b8\ub97c \ubc1b\ub294 \uc2dc\uc810\uc5d0 \uac12\uc5d0 \uc791\uc6a9\uc744 \ud558\ub294 \ud558\uc704 \ud37c\ube14\ub9ac\uc154 \ub610\ub294 \uc11c\ube0c\uc2a4\ud06c\ub77c\uc774\ubc84\ub97c \ub9cc\ub4dc\ub294 \uba54\uc18c\ub4dc \uc624\ud37c\ub808\uc774\ud130\ub294 \ud2b9\uc815\ud55c \ud0c0\uc785\uc740 \uc544\ub2c8\uc9c0\ub9cc, Combine\uc744 \uad6c\uc131\ud558\ub294 \uc8fc\uc694\ud55c 3\ub300 \uc694\uc18c\uc774\ub2e4. Combine\uc5d0\uc11c\ub294 \ud37c\ube14\ub9ac\uc154\uc5d0\uc11c \uba54\uc18c\ub4dc \ud615\ud0dc\ub85c \uc0ac\uc6a9\ub418\ub294 \ud558\uc704 \ud37c\ube14\ub9ac\uc154\ub098 \uc11c\ube0c\uc2a4\ud06c\ub77c\uc774\ubc84\ub85c \uc815\uc758\ud558\uace0 \uc788\ub2e4. RX\uc5d0\uc11c\ub294 \uba54\uc18c\ub4dc \ud615\ud0dc\ub77c\uace0 \uc815\uc758\ud55c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1128","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_featured_media_url":"","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/blog.enyou.net\/ko\/wp-json\/wp\/v2\/posts\/1128"}],"collection":[{"href":"https:\/\/blog.enyou.net\/ko\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.enyou.net\/ko\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.enyou.net\/ko\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.enyou.net\/ko\/wp-json\/wp\/v2\/comments?post=1128"}],"version-history":[{"count":4,"href":"https:\/\/blog.enyou.net\/ko\/wp-json\/wp\/v2\/posts\/1128\/revisions"}],"predecessor-version":[{"id":1134,"href":"https:\/\/blog.enyou.net\/ko\/wp-json\/wp\/v2\/posts\/1128\/revisions\/1134"}],"wp:attachment":[{"href":"https:\/\/blog.enyou.net\/ko\/wp-json\/wp\/v2\/media?parent=1128"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.enyou.net\/ko\/wp-json\/wp\/v2\/categories?post=1128"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.enyou.net\/ko\/wp-json\/wp\/v2\/tags?post=1128"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}