{"id":35,"date":"2020-11-23T13:46:25","date_gmt":"2020-11-23T13:46:25","guid":{"rendered":"http:\/\/mohammadreza.me\/blog\/?p=35"},"modified":"2020-11-23T13:46:25","modified_gmt":"2020-11-23T13:46:25","slug":"swift-extensions-fa","status":"publish","type":"post","link":"https:\/\/mohammadreza.me\/blog\/fa\/2020\/11\/23\/swift-extensions-fa\/","title":{"rendered":"Extension \u062f\u0631 \u0633\u0648\u06cc\u06cc\u0641\u062a"},"content":{"rendered":"\n<p class=\"has-text-align-right\">\u0627\u06a9\u0633\u062a\u0646\u0634\u0646\u200c\u0647\u0627 \u062f\u0631 <a href=\"http:\/\/mohammadreza.me\/blog\/fa\/category\/swift-fa\/\">Swift<\/a> \u0628\u0633\u06cc\u0627\u0631 \u0645\u0641\u06cc\u062f \u0648 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0647\u0633\u062a\u0646. \u0628\u0627 \u06a9\u0645\u06a9 <a href=\"https:\/\/docs.swift.org\/swift-book\/LanguageGuide\/Extensions.html\">extension<\/a> \u0645\u06cc\u062a\u0648\u0646\u06cc\u0645 \u0628\u0647 \u06a9\u0644\u0627\u0633\u200c\u0647\u0627\u060c struct\u0647\u0627\u060c enum\u0647\u0627 \u0648 \u067e\u0631\u0648\u062a\u06a9\u0644\u200c\u0647\u0627 functionality \u06cc\u0627 \u0645\u062a\u062f \u062c\u062f\u06cc\u062f \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u0645 \u062d\u062a\u06cc \u0627\u06af\u0631 \u0628\u0647 \u0627\u0648\u0646\u0647\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc \u0646\u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u0645.<\/p>\n\n\n\n<div style=\"height:32px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"defining-memory-management\">Extension Syntax<\/h2>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"swift\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">extension SomeType {\n\t\/\/ new functionality to add to SomeType goes here\n}<\/pre>\n\n\n\n<div style=\"height:32px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>\u0628\u0631\u0627\u06cc \u0645\u062b\u0627\u0644 \u06a9\u062f \u0632\u06cc\u0631 \u0631\u0648 \u0628\u0628\u06cc\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"swift\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">extension Array where Element == String {\n    func alphabeticallySort() -> Array {\n        return self.sorted { $0.lowercased() &lt; $1.lowercased() }\n    }\n}<\/pre>\n\n\n\n<p>\u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u06cc\u0646 extension \u0628\u0631\u0627\u06cc Array \u06cc\u06a9 \u0645\u062a\u062f \u062c\u062f\u06cc\u062f \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u06cc\u0645&nbsp; \u0628\u0627 \u0646\u0627\u0645 alphabeticallySort \u06a9\u0647 Array \u0631\u0648 \u0628\u0631\u0627\u0633\u0627\u0633 \u062d\u0631\u0648\u0641 \u0627\u0644\u0641\u0628\u0627 \u0645\u0631\u062a\u0628 \u0645\u06cc\u06a9\u0646\u0647.<\/p>\n\n\n\n<div style=\"height:32px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>\u06cc\u0627 \u062a\u0648 \u0645\u062b\u0627\u0644 \u0628\u0639\u062f\u06cc \u0628\u0647 \u06a9\u0644\u0627\u0633 Int \u0645\u062a\u062f\u06cc \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc\u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u0645\u0631\u0628\u0639 \u06cc\u06a9 \u0639\u062f\u062f \u0631\u0627 \u0645\u062d\u0627\u0633\u0628\u0647 \u0645\u06cc\u06a9\u0646\u0647:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"swift\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">extension Int {\n    func squared() -> Int {\n        return self * self\n    }\n}\n3.squared() \n\/\/ output = 9<\/pre>\n\n\n\n<div style=\"height:32px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>\u06cc\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u067e\u0631\u0627\u067e\u0631\u062a\u06cc \u0628\u0647 \u0627\u0633\u0645 isOdd \u0628\u0647 \u06a9\u0644\u0627\u0633 Int \u062f\u0631 \u0635\u0648\u0631\u062a\u06cc \u0639\u062f\u062f \u0645\u0648\u0631\u062f \u0646\u0638\u0631 \u0641\u0631\u062f \u0628\u0627\u0634\u0647 true \u0628\u0631\u06af\u0634\u062a \u062f\u0627\u062f\u0647 \u0645\u06cc\u0634\u0647.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"swift\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">extension Int {\n    var isOdd : Bool {\n        return self % 2 != 0\n    }\n}\n3.isOdd \n\/\/ output = true<\/pre>\n\n\n\n<p class=\"has-text-align-center has-small-font-size\"><em>\u062a\u0648\u062c\u0647 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u062f\u0631 \u0627\u06a9\u0633\u062a\u0646\u0634\u0646\u200c\u0647\u0627 \u0641\u0642\u0637 \u0627\u0632 computed property \u0645\u06cc\u062a\u0648\u0646\u06cc\u0645 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645 \u0648 \u0627\u0632 stored property\u0647\u0627 \u0646\u0645\u06cc\u0634\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f<\/em><\/p>\n\n\n\n<div style=\"height:32px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>\u06cc\u06a9\u06cc \u0627\u0632 \u0642\u0627\u0628\u0644\u06cc\u062a\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc extension \u06a9\u0647 \u0645\u0646 \u0628\u0647 \u0634\u062e\u0635\u0647 \u062e\u06cc\u0644\u06cc \u0627\u0632\u0634 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u06a9\u0646\u0645 \u0642\u0627\u0628\u0644\u06cc\u062a \u062a\u0641\u06a9\u06cc\u06a9 \u06a9\u062f\u200c\u0647\u0627 \u062f\u0631 Controller\u0647\u0627\u0633\u062a.<\/p>\n\n\n\n<p>\u0647\u0645\u0647\u200c\u06cc \u0645\u0627\u060c \u0645\u062e\u0635\u0648\u0635\u0627 \u062a\u0648\u06cc \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627\u06cc \u0628\u0632\u0631\u06af \u0628\u0627 Massive Controller\u0647\u0627 (\u06a9\u0646\u062a\u0631\u0644\u0631\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u062a\u0639\u062f\u0627\u062f \u062e\u0637 \u06a9\u062f\u0647\u0627\u0634 \u0632\u06cc\u0627\u062f \u0634\u062f\u0647) \u0628\u0631\u062e\u0648\u0631\u062f \u06a9\u0631\u062f\u06cc\u0645. \u06cc\u06a9\u06cc \u0627\u0632 \u0631\u0648\u0634\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0628\u0627\u0639\u062b \u0645\u06cc\u0634\u0647 \u062e\u0648\u0627\u0646\u0627\u06cc\u06cc Controller\u0647\u0627 \u0627\u0641\u0632\u0627\u06cc\u0634 \u067e\u06cc\u062f\u0627 \u06a9\u0646\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 extension \u0647\u0633\u062a. <\/p>\n\n\n\n<p>\u0645\u062b\u0644\u0627 \u062a\u0642\u06a9\u06cc\u06a9 \u0645\u062a\u062f\u200c\u0647\u0627\u06cc \u067e\u0631\u0648\u062a\u06a9\u0644 UITableViewDataSource \u0648 \u06cc\u0627 UITableViewDelegate \u0628\u062f\u06cc\u0646 \u0634\u06a9\u0644:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"swift\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">class DetaiViewController: UIViewController {\n    \n}\n\/\/ TableView DataSource\nextension DetaiViewController: UITableViewDataSource {\n    \n    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {\n        \n    }\n    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {\n        \n    }\n}<\/pre>\n\n\n\n<p>\u0648 \u06cc\u0627 \u062a\u0641\u06a9\u06cc\u06a9 \u0645\u062a\u062f\u200c\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u062f\u0647 \u062f\u0631 Controller:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"swift\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ MARK: - Setup View\nextension DetaiViewController {\n    private func setupUI() {\n        \n    }\n}\n \/\/ MARK: - Calculate Score\nextension DetaiViewController {\n    private func calculateScore() {\n        \n    }\n    private func convertScoresToGift() {\n        \n    }\n}\n<\/pre>\n\n\n\n<div style=\"height:32px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>\u0647\u0645\u0648\u0646\u0638\u0648\u0631 \u06a9\u0647 \u062f\u06cc\u062f\u06cc\u062f extension\u0647\u0627 \u0627\u0628\u0632\u0627\u0631 \u0645\u0641\u064a\u062f \u0648 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0647\u0633\u062a\u0646 \u06a9\u0647 \u06a9\u0645\u06a9 \u0645\u06cc\u06a9\u0646\u0645 \u06a9\u062f \u062a\u0645\u06cc\u0632\u062a\u0631 \u0648 \u0633\u0627\u0632\u0645\u0627\u0646\u062f\u0647\u06cc \u0634\u062f\u0647\u200c\u062a\u0631\u06cc \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u0645. <\/p>\n\n\n\n<p>\u0627\u06af\u0631 \u062a\u062c\u0631\u0628\u0647\u200c\u200c\u0627\u06cc \u062f\u0631 \u0645\u0648\u0631\u062f \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc extension\u0647\u0627 \u062f\u0627\u0631\u06cc\u062f \u062e\u0648\u0634\u062d\u0627\u0644 \u0645\u06cc\u0634\u0645 \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u0628\u0630\u0627\u0631\u06cc\u062f.<\/p>\n\n\n\n<p>\u0627\u0645\u06cc\u062f\u0648\u0627\u0631\u0645 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u0645\u062e\u062a\u0635\u0631 \u06a9\u0645\u06a9 \u06a9\u0646\u0647 \u06a9\u062f\u200c\u0647\u0627\u06cc \u062a\u0645\u06cc\u0632\u062a\u0631\u06cc \u0628\u0646\u0648\u06cc\u0633\u06cc\u062f.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0627\u06a9\u0633\u062a\u0646\u0634\u0646\u200c\u0647\u0627 \u062f\u0631 Swift \u0628\u0633\u06cc\u0627\u0631 \u0645\u0641\u06cc\u062f \u0648 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0647\u0633\u062a\u0646. \u0628\u0627 \u06a9\u0645\u06a9 extension \u0645\u06cc\u062a\u0648\u0646\u06cc\u0645 \u0628\u0647 \u06a9\u0644\u0627\u0633\u200c\u0647\u0627\u060c struct\u0647\u0627\u060c enum\u0647\u0627 \u0648 \u067e\u0631\u0648\u062a\u06a9\u0644\u200c\u0647\u0627 functionality \u06cc\u0627 \u0645\u062a\u062f \u062c\u062f\u06cc\u062f \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u0645 \u062d\u062a\u06cc \u0627\u06af\u0631 \u0628\u0647 \u0627\u0648\u0646\u0647\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc \u0646\u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u0645. Extension Syntax \u0628\u0631\u0627\u06cc \u0645\u062b\u0627\u0644 \u06a9\u062f \u0632\u06cc\u0631 \u0631\u0648 \u0628\u0628\u06cc\u0646\u06cc\u062f: \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u06cc\u0646 extension \u0628\u0631\u0627\u06cc Array \u06cc\u06a9 \u0645\u062a\u062f \u062c\u062f\u06cc\u062f \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u06cc\u0645&nbsp; \u0628\u0627 \u0646\u0627\u0645 alphabeticallySort \u06a9\u0647 &hellip; <a href=\"https:\/\/mohammadreza.me\/blog\/fa\/2020\/11\/23\/swift-extensions-fa\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Extension \u062f\u0631 \u0633\u0648\u06cc\u06cc\u0641\u062a<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":43,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-35","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Extension \u062f\u0631 \u0633\u0648\u06cc\u06cc\u0641\u062a - Swift with Reza<\/title>\n<meta name=\"description\" content=\"\u0627\u06a9\u0633\u062a\u0646\u0634\u0646\u200c\u0647\u0627 \u062f\u0631 Swift \u0628\u0633\u06cc\u0627\u0631 \u0645\u0641\u06cc\u062f \u0648 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0647\u0633\u062a\u0646. \u0628\u0627 \u06a9\u0645\u06a9 extension \u0645\u06cc\u062a\u0648\u0646\u06cc\u0645 \u0628\u0647 \u06a9\u0644\u0627\u0633\u200c\u0647\u0627\u060c struct\u0647\u0627\u060c enum\u0647\u0627 \u0648 \u067e\u0631\u0648\u062a\u06a9\u0644\u200c\u0647\u0627 functionality \u06cc\u0627 \u0645\u062a\u062f \u062c\u062f\u06cc\u062f \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u0645 \u062d\u062a\u06cc \u0627\u06af\u0631 \u0628\u0647 \u0627\u0648\u0646\u0647\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc \u0646\u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u0645.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/mohammadreza.me\/blog\/fa\/2020\/11\/23\/swift-extensions-fa\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Extension \u062f\u0631 \u0633\u0648\u06cc\u06cc\u0641\u062a - Swift with Reza\" \/>\n<meta property=\"og:description\" content=\"\u0627\u06a9\u0633\u062a\u0646\u0634\u0646\u200c\u0647\u0627 \u062f\u0631 Swift \u0628\u0633\u06cc\u0627\u0631 \u0645\u0641\u06cc\u062f \u0648 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0647\u0633\u062a\u0646. \u0628\u0627 \u06a9\u0645\u06a9 extension \u0645\u06cc\u062a\u0648\u0646\u06cc\u0645 \u0628\u0647 \u06a9\u0644\u0627\u0633\u200c\u0647\u0627\u060c struct\u0647\u0627\u060c enum\u0647\u0627 \u0648 \u067e\u0631\u0648\u062a\u06a9\u0644\u200c\u0647\u0627 functionality \u06cc\u0627 \u0645\u062a\u062f \u062c\u062f\u06cc\u062f \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u0645 \u062d\u062a\u06cc \u0627\u06af\u0631 \u0628\u0647 \u0627\u0648\u0646\u0647\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc \u0646\u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u0645.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/mohammadreza.me\/blog\/fa\/2020\/11\/23\/swift-extensions-fa\/\" \/>\n<meta property=\"og:site_name\" content=\"Swift with Reza\" \/>\n<meta property=\"article:published_time\" content=\"2020-11-23T13:46:25+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/mohammadreza.me\/blog\/wp-content\/uploads\/2020\/11\/swift-extension-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1621\" \/>\n\t<meta property=\"og:image:height\" content=\"912\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Reza\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Reza\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/mohammadreza.me\/blog\/fa\/2020\/11\/23\/swift-extensions-fa\/\",\"url\":\"https:\/\/mohammadreza.me\/blog\/fa\/2020\/11\/23\/swift-extensions-fa\/\",\"name\":\"Extension \u062f\u0631 \u0633\u0648\u06cc\u06cc\u0641\u062a - Swift with Reza\",\"isPartOf\":{\"@id\":\"https:\/\/mohammadreza.me\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/mohammadreza.me\/blog\/fa\/2020\/11\/23\/swift-extensions-fa\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/mohammadreza.me\/blog\/fa\/2020\/11\/23\/swift-extensions-fa\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/mohammadreza.me\/blog\/wp-content\/uploads\/2020\/11\/swift-extension-1.png\",\"datePublished\":\"2020-11-23T13:46:25+00:00\",\"author\":{\"@id\":\"https:\/\/mohammadreza.me\/blog\/#\/schema\/person\/9ab155944216224664701a81bc56cf8c\"},\"description\":\"\u0627\u06a9\u0633\u062a\u0646\u0634\u0646\u200c\u0647\u0627 \u062f\u0631 Swift \u0628\u0633\u06cc\u0627\u0631 \u0645\u0641\u06cc\u062f \u0648 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0647\u0633\u062a\u0646. \u0628\u0627 \u06a9\u0645\u06a9 extension \u0645\u06cc\u062a\u0648\u0646\u06cc\u0645 \u0628\u0647 \u06a9\u0644\u0627\u0633\u200c\u0647\u0627\u060c struct\u0647\u0627\u060c enum\u0647\u0627 \u0648 \u067e\u0631\u0648\u062a\u06a9\u0644\u200c\u0647\u0627 functionality \u06cc\u0627 \u0645\u062a\u062f \u062c\u062f\u06cc\u062f \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u0645 \u062d\u062a\u06cc \u0627\u06af\u0631 \u0628\u0647 \u0627\u0648\u0646\u0647\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc \u0646\u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u0645.\",\"breadcrumb\":{\"@id\":\"https:\/\/mohammadreza.me\/blog\/fa\/2020\/11\/23\/swift-extensions-fa\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/mohammadreza.me\/blog\/fa\/2020\/11\/23\/swift-extensions-fa\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/mohammadreza.me\/blog\/fa\/2020\/11\/23\/swift-extensions-fa\/#primaryimage\",\"url\":\"https:\/\/mohammadreza.me\/blog\/wp-content\/uploads\/2020\/11\/swift-extension-1.png\",\"contentUrl\":\"https:\/\/mohammadreza.me\/blog\/wp-content\/uploads\/2020\/11\/swift-extension-1.png\",\"width\":1621,\"height\":912,\"caption\":\"swift extension\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/mohammadreza.me\/blog\/fa\/2020\/11\/23\/swift-extensions-fa\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\/\/mohammadreza.me\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Extension \u062f\u0631 \u0633\u0648\u06cc\u06cc\u0641\u062a\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/mohammadreza.me\/blog\/#website\",\"url\":\"https:\/\/mohammadreza.me\/blog\/\",\"name\":\"Swift with Reza\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/mohammadreza.me\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/mohammadreza.me\/blog\/#\/schema\/person\/9ab155944216224664701a81bc56cf8c\",\"name\":\"Reza\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/mohammadreza.me\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1a4d35be7e8c853112a49822b1ccc907e5855a115f93d587800a7d71f2255f01?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1a4d35be7e8c853112a49822b1ccc907e5855a115f93d587800a7d71f2255f01?s=96&d=mm&r=g\",\"caption\":\"Reza\"},\"sameAs\":[\"http:\/\/mohammadreza.me\/blog\"],\"url\":\"https:\/\/mohammadreza.me\/blog\/author\/mohammadreza\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Extension \u062f\u0631 \u0633\u0648\u06cc\u06cc\u0641\u062a - Swift with Reza","description":"\u0627\u06a9\u0633\u062a\u0646\u0634\u0646\u200c\u0647\u0627 \u062f\u0631 Swift \u0628\u0633\u06cc\u0627\u0631 \u0645\u0641\u06cc\u062f \u0648 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0647\u0633\u062a\u0646. \u0628\u0627 \u06a9\u0645\u06a9 extension \u0645\u06cc\u062a\u0648\u0646\u06cc\u0645 \u0628\u0647 \u06a9\u0644\u0627\u0633\u200c\u0647\u0627\u060c struct\u0647\u0627\u060c enum\u0647\u0627 \u0648 \u067e\u0631\u0648\u062a\u06a9\u0644\u200c\u0647\u0627 functionality \u06cc\u0627 \u0645\u062a\u062f \u062c\u062f\u06cc\u062f \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u0645 \u062d\u062a\u06cc \u0627\u06af\u0631 \u0628\u0647 \u0627\u0648\u0646\u0647\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc \u0646\u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u0645.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/mohammadreza.me\/blog\/fa\/2020\/11\/23\/swift-extensions-fa\/","og_locale":"en_US","og_type":"article","og_title":"Extension \u062f\u0631 \u0633\u0648\u06cc\u06cc\u0641\u062a - Swift with Reza","og_description":"\u0627\u06a9\u0633\u062a\u0646\u0634\u0646\u200c\u0647\u0627 \u062f\u0631 Swift \u0628\u0633\u06cc\u0627\u0631 \u0645\u0641\u06cc\u062f \u0648 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0647\u0633\u062a\u0646. \u0628\u0627 \u06a9\u0645\u06a9 extension \u0645\u06cc\u062a\u0648\u0646\u06cc\u0645 \u0628\u0647 \u06a9\u0644\u0627\u0633\u200c\u0647\u0627\u060c struct\u0647\u0627\u060c enum\u0647\u0627 \u0648 \u067e\u0631\u0648\u062a\u06a9\u0644\u200c\u0647\u0627 functionality \u06cc\u0627 \u0645\u062a\u062f \u062c\u062f\u06cc\u062f \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u0645 \u062d\u062a\u06cc \u0627\u06af\u0631 \u0628\u0647 \u0627\u0648\u0646\u0647\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc \u0646\u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u0645.","og_url":"https:\/\/mohammadreza.me\/blog\/fa\/2020\/11\/23\/swift-extensions-fa\/","og_site_name":"Swift with Reza","article_published_time":"2020-11-23T13:46:25+00:00","og_image":[{"width":1621,"height":912,"url":"http:\/\/mohammadreza.me\/blog\/wp-content\/uploads\/2020\/11\/swift-extension-1.png","type":"image\/png"}],"author":"Reza","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Reza","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/mohammadreza.me\/blog\/fa\/2020\/11\/23\/swift-extensions-fa\/","url":"https:\/\/mohammadreza.me\/blog\/fa\/2020\/11\/23\/swift-extensions-fa\/","name":"Extension \u062f\u0631 \u0633\u0648\u06cc\u06cc\u0641\u062a - Swift with Reza","isPartOf":{"@id":"https:\/\/mohammadreza.me\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/mohammadreza.me\/blog\/fa\/2020\/11\/23\/swift-extensions-fa\/#primaryimage"},"image":{"@id":"https:\/\/mohammadreza.me\/blog\/fa\/2020\/11\/23\/swift-extensions-fa\/#primaryimage"},"thumbnailUrl":"https:\/\/mohammadreza.me\/blog\/wp-content\/uploads\/2020\/11\/swift-extension-1.png","datePublished":"2020-11-23T13:46:25+00:00","author":{"@id":"https:\/\/mohammadreza.me\/blog\/#\/schema\/person\/9ab155944216224664701a81bc56cf8c"},"description":"\u0627\u06a9\u0633\u062a\u0646\u0634\u0646\u200c\u0647\u0627 \u062f\u0631 Swift \u0628\u0633\u06cc\u0627\u0631 \u0645\u0641\u06cc\u062f \u0648 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0647\u0633\u062a\u0646. \u0628\u0627 \u06a9\u0645\u06a9 extension \u0645\u06cc\u062a\u0648\u0646\u06cc\u0645 \u0628\u0647 \u06a9\u0644\u0627\u0633\u200c\u0647\u0627\u060c struct\u0647\u0627\u060c enum\u0647\u0627 \u0648 \u067e\u0631\u0648\u062a\u06a9\u0644\u200c\u0647\u0627 functionality \u06cc\u0627 \u0645\u062a\u062f \u062c\u062f\u06cc\u062f \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u0645 \u062d\u062a\u06cc \u0627\u06af\u0631 \u0628\u0647 \u0627\u0648\u0646\u0647\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc \u0646\u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u0645.","breadcrumb":{"@id":"https:\/\/mohammadreza.me\/blog\/fa\/2020\/11\/23\/swift-extensions-fa\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/mohammadreza.me\/blog\/fa\/2020\/11\/23\/swift-extensions-fa\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/mohammadreza.me\/blog\/fa\/2020\/11\/23\/swift-extensions-fa\/#primaryimage","url":"https:\/\/mohammadreza.me\/blog\/wp-content\/uploads\/2020\/11\/swift-extension-1.png","contentUrl":"https:\/\/mohammadreza.me\/blog\/wp-content\/uploads\/2020\/11\/swift-extension-1.png","width":1621,"height":912,"caption":"swift extension"},{"@type":"BreadcrumbList","@id":"https:\/\/mohammadreza.me\/blog\/fa\/2020\/11\/23\/swift-extensions-fa\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/mohammadreza.me\/blog\/"},{"@type":"ListItem","position":2,"name":"Extension \u062f\u0631 \u0633\u0648\u06cc\u06cc\u0641\u062a"}]},{"@type":"WebSite","@id":"https:\/\/mohammadreza.me\/blog\/#website","url":"https:\/\/mohammadreza.me\/blog\/","name":"Swift with Reza","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/mohammadreza.me\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/mohammadreza.me\/blog\/#\/schema\/person\/9ab155944216224664701a81bc56cf8c","name":"Reza","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/mohammadreza.me\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/1a4d35be7e8c853112a49822b1ccc907e5855a115f93d587800a7d71f2255f01?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1a4d35be7e8c853112a49822b1ccc907e5855a115f93d587800a7d71f2255f01?s=96&d=mm&r=g","caption":"Reza"},"sameAs":["http:\/\/mohammadreza.me\/blog"],"url":"https:\/\/mohammadreza.me\/blog\/author\/mohammadreza\/"}]}},"wps_subtitle":"","_links":{"self":[{"href":"https:\/\/mohammadreza.me\/blog\/wp-json\/wp\/v2\/posts\/35","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mohammadreza.me\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mohammadreza.me\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mohammadreza.me\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mohammadreza.me\/blog\/wp-json\/wp\/v2\/comments?post=35"}],"version-history":[{"count":0,"href":"https:\/\/mohammadreza.me\/blog\/wp-json\/wp\/v2\/posts\/35\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mohammadreza.me\/blog\/wp-json\/wp\/v2\/media\/43"}],"wp:attachment":[{"href":"https:\/\/mohammadreza.me\/blog\/wp-json\/wp\/v2\/media?parent=35"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mohammadreza.me\/blog\/wp-json\/wp\/v2\/categories?post=35"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mohammadreza.me\/blog\/wp-json\/wp\/v2\/tags?post=35"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}