{"id":3069,"date":"2024-11-05T20:45:09","date_gmt":"2024-11-05T17:45:09","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/swiftte-basit-bir-bagimlilik-enjeksiyon-cercevesi-olusturma-bolum-3-otomatik-kayit\/"},"modified":"2024-11-05T20:45:09","modified_gmt":"2024-11-05T17:45:09","slug":"swiftte-basit-bir-bagimlilik-enjeksiyon-cercevesi-olusturma-bolum-3-otomatik-kayit","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/swiftte-basit-bir-bagimlilik-enjeksiyon-cercevesi-olusturma-bolum-3-otomatik-kayit\/","title":{"rendered":"Swift&#8217;te Basit Bir Ba\u011f\u0131ml\u0131l\u0131k Enjeksiyon \u00c7er\u00e7evesi Olu\u015fturma [B\u00f6l\u00fcm 3]: Otomatik Kay\u0131t"},"content":{"rendered":"<p>Swift&#8217;te Basit Bir Ba\u011f\u0131ml\u0131l\u0131k Enjeksiyon \u00c7er\u00e7evesi Olu\u015fturma [B\u00f6l\u00fcm 3]: Otomatik Kay\u0131t<\/p>\n<p>Bu yaz\u0131da, daha \u00f6nceki iki yaz\u0131da yaratt\u0131\u011f\u0131m\u0131z basit ba\u011f\u0131ml\u0131l\u0131k enjeksiyon \u00e7er\u00e7evesini geli\u015ftirerek otomatik kay\u0131t \u00f6zelli\u011fini ekleyece\u011fiz. Otomatik kay\u0131t, ba\u011f\u0131ml\u0131l\u0131klar\u0131m\u0131z\u0131n \u00e7er\u00e7evemize otomatik olarak kaydedilmesini sa\u011flayarak kodumuzu daha da temiz ve d\u00fczenli hale getirecektir.<\/p>\n<h2>Otomatik Kay\u0131t \u00d6zelli\u011fi<\/h2>\n<p>Otomatik kay\u0131t, belirli bir protokol\u00fc uygulayan t\u00fcm s\u0131n\u0131flar\u0131 veya yap\u0131lar\u0131 otomatik olarak \u00e7er\u00e7evemize kaydetti\u011fimizde devreye girer. Bu, ba\u011f\u0131ml\u0131l\u0131klar\u0131m\u0131z\u0131n \u00e7er\u00e7evemize manuel olarak kaydedilmesi ihtiyac\u0131n\u0131 ortadan kald\u0131rarak kodu daha \u00f6zl\u00fc hale getirir.<\/p>\n<p>\u00d6rne\u011fin, \u00f6nceki yaz\u0131larda olu\u015fturdu\u011fumuz <code>Logger<\/code> protokol\u00fcn\u00fc ele alal\u0131m. Bir <code>ConsoleLogger<\/code> ve <code>FileLogger<\/code> s\u0131n\u0131f\u0131 tan\u0131mlayarak bu protokol\u00fc uygulad\u0131k. Otomatik kay\u0131t \u00f6zelli\u011fi ile bu s\u0131n\u0131flar\u0131 \u00e7er\u00e7evemize manuel olarak kaydetmek zorunda kalmayaca\u011f\u0131z. Bunun yerine, \u00e7er\u00e7evemiz otomatik olarak <code>Logger<\/code> protokol\u00fcn\u00fc uygulayan t\u00fcm s\u0131n\u0131flar\u0131 tan\u0131yacak ve kaydedecektir.<\/p>\n<h2>Kod \u00d6rne\u011fi<\/h2>\n<p>Otomatik kayd\u0131 eklemek i\u00e7in <code>Container<\/code> s\u0131n\u0131f\u0131m\u0131za yeni bir fonksiyon eklememiz gerekiyor. Bu fonksiyon, verilen bir protokol\u00fc uygulayan t\u00fcm s\u0131n\u0131flar\u0131 tarayacak ve \u00e7er\u00e7evemize kaydedecektir.<\/p>\n<p>&#8220;`swift<br \/>\npublic final class Container {<br \/>\n    private var services = [String: Any]()<\/p>\n<p>    public init() {}<\/p>\n<p>    public func register<T>(type: T.Type, with: T) {<br \/>\n        services[String(describing: type)] = with<br \/>\n    }<\/p>\n<p>    public func resolve<T>(type: T.Type) -> T {<br \/>\n        guard let service = services[String(describing: type)] as? T else {<br \/>\n            fatalError(&#8220;No service registered for type \\(String(describing: type))&#8221;)<br \/>\n        }<br \/>\n        return service<br \/>\n    }<\/p>\n<p>    public func autoregister<T>(for protocolType: T.Type) {<br \/>\n        let allClasses = Bundle.allBundles.compactMap { $0.infoDictionary?[&#8220;CFBundleExecutable&#8221;] as? String }<br \/>\n            .compactMap { NSClassFromString($0) as? NSObject.Type }<\/p>\n<p>        for type in allClasses where type conformsToProtocol(protocolType) {<br \/>\n            services[String(describing: protocolType)] = type.init()<br \/>\n        }<br \/>\n    }<br \/>\n}<br \/>\n&#8220;`<\/p>\n<p>Yukar\u0131daki kodda, <code>autoregister<\/code> fonksiyonu verilen bir protokoli (<code>protocolType<\/code>) al\u0131r. Ard\u0131ndan, t\u00fcm ba\u011flamalar\u0131 (<code>Bundle.allBundles<\/code>) tarar ve belirtilen protokoliyi uygulayan t\u00fcm s\u0131n\u0131flar\u0131 bulur. Bu s\u0131n\u0131flar, <code>services<\/code> s\u00f6zl\u00fc\u011f\u00fcne otomatik olarak kaydedilir.<\/p>\n<h2>Kullan\u0131m \u00d6rne\u011fi<\/h2>\n<p>Otomatik kayd\u0131 kullanmak i\u00e7in, <code>Container<\/code> s\u0131n\u0131f\u0131m\u0131z\u0131n bir \u00f6rne\u011fini olu\u015fturur ve <code>autoregister<\/code> fonksiyonunu <code>Logger<\/code> protokol\u00fcyle birlikte \u00e7a\u011f\u0131r\u0131r\u0131z:<\/p>\n<p>&#8220;`swift<br \/>\nlet container = Container()<br \/>\ncontainer.autoregister(for: Logger.self)<br \/>\n&#8220;`<\/p>\n<p>Art\u0131k, \u00e7er\u00e7evemiz <code>Logger<\/code> protokol\u00fcn\u00fc uygulayan t\u00fcm s\u0131n\u0131flar\u0131 (<code>ConsoleLogger<\/code> ve <code>FileLogger<\/code> gibi) otomatik olarak kaydetti. Bu, ba\u011f\u0131ml\u0131l\u0131klar\u0131m\u0131z\u0131n \u00e7er\u00e7evemize manuel olarak kaydedilmesi ihtiyac\u0131n\u0131 ortadan kald\u0131rarak kodu daha da temiz ve d\u00fczenli hale getirir.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>Bu yaz\u0131da, basit bir ba\u011f\u0131ml\u0131l\u0131k enjeksiyon \u00e7er\u00e7evesine otomatik kay\u0131t \u00f6zelli\u011fini ekledik. Bu \u00f6zellik, ba\u011f\u0131ml\u0131l\u0131klar\u0131m\u0131z\u0131n \u00e7er\u00e7evemize otomatik olarak kaydedilmesini sa\u011flayarak kodumuzu daha da temiz ve d\u00fczenli hale getirmemize yard\u0131mc\u0131 olur. Otomatik kay\u0131t, kodun okunabilirli\u011fini ve bak\u0131m\u0131 kolayla\u015ft\u0131r\u0131r.<\/p>\n<p>E\u011fer ba\u011f\u0131ml\u0131l\u0131k enjeksiyon \u00e7er\u00e7eveleri hakk\u0131nda daha fazla bilgi edinmek isterseniz, [fatihsoysal.com](https:\/\/fatihsoysal.com) web sitesini ziyaret edebilirsiniz. Bu web sitesinde, ba\u011f\u0131ml\u0131l\u0131k enjeksiyonunun avantajlar\u0131, uygulamas\u0131 ve \u00e7e\u015fitli \u00e7er\u00e7eveler hakk\u0131nda daha ayr\u0131nt\u0131l\u0131 bilgiler bulabilirsiniz.<\/p>\n<p>#Etiketler<br \/>\nBa\u011f\u0131ml\u0131l\u0131k Enjeksiyonu, Swift, Otomatik Kay\u0131t, \u00c7er\u00e7eve, Yaz\u0131l\u0131m Geli\u015ftirme, Programlama, Kod Kalitesi, Temiz Kod, \u00d6zl\u00fc Kod, Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"Swift&#8217;te Basit Bir Ba\u011f\u0131ml\u0131l\u0131k Enjeksiyon \u00c7er\u00e7evesi Olu\u015fturma [B\u00f6l\u00fcm 3]: Otomatik Kay\u0131t Bu yaz\u0131da, daha \u00f6nceki iki yaz\u0131da yaratt\u0131\u011f\u0131m\u0131z&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-3069","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Swift&#039;te Basit Bir Ba\u011f\u0131ml\u0131l\u0131k Enjeksiyon \u00c7er\u00e7evesi Olu\u015fturma [B\u00f6l\u00fcm 3]: Otomatik Kay\u0131t<\/title>\n<meta name=\"description\" content=\"Bu yaz\u0131da, daha \u00f6nceki iki yaz\u0131da yaratt\u0131\u011f\u0131m\u0131z basit ba\u011f\u0131ml\u0131l\u0131k enjeksiyon \u00e7er\u00e7evesini geli\u015ftirerek otomatik kay\u0131t \u00f6zelli\u011fini ekleyece\u011fiz. Otomatik kay\u0131t, ba\u011f\u0131ml\u0131l\u0131klar\u0131m\u0131z\u0131n \u00e7er\u00e7evemize otomatik olarak kaydedilmesini sa\u011flayarak kodumuzu daha da temiz ve d\u00fczenli hale getirecektir.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/swiftte-basit-bir-bagimlilik-enjeksiyon-cercevesi-olusturma-bolum-3-otomatik-kayit\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Swift&#039;te Basit Bir Ba\u011f\u0131ml\u0131l\u0131k Enjeksiyon \u00c7er\u00e7evesi Olu\u015fturma [B\u00f6l\u00fcm 3]: Otomatik Kay\u0131t\" \/>\n<meta property=\"og:description\" content=\"Bu yaz\u0131da, daha \u00f6nceki iki yaz\u0131da yaratt\u0131\u011f\u0131m\u0131z basit ba\u011f\u0131ml\u0131l\u0131k enjeksiyon \u00e7er\u00e7evesini geli\u015ftirerek otomatik kay\u0131t \u00f6zelli\u011fini ekleyece\u011fiz. Otomatik kay\u0131t, ba\u011f\u0131ml\u0131l\u0131klar\u0131m\u0131z\u0131n \u00e7er\u00e7evemize otomatik olarak kaydedilmesini sa\u011flayarak kodumuzu daha da temiz ve d\u00fczenli hale getirecektir.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/swiftte-basit-bir-bagimlilik-enjeksiyon-cercevesi-olusturma-bolum-3-otomatik-kayit\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-05T17:45:09+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/swiftte-basit-bir-bagimlilik-enjeksiyon-cercevesi-olusturma-bolum-3-otomatik-kayit\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/swiftte-basit-bir-bagimlilik-enjeksiyon-cercevesi-olusturma-bolum-3-otomatik-kayit\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Swift&#8217;te Basit Bir Ba\u011f\u0131ml\u0131l\u0131k Enjeksiyon \u00c7er\u00e7evesi Olu\u015fturma [B\u00f6l\u00fcm 3]: Otomatik Kay\u0131t\",\"datePublished\":\"2024-11-05T17:45:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/swiftte-basit-bir-bagimlilik-enjeksiyon-cercevesi-olusturma-bolum-3-otomatik-kayit\/\"},\"wordCount\":576,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/swiftte-basit-bir-bagimlilik-enjeksiyon-cercevesi-olusturma-bolum-3-otomatik-kayit\/#respond\"]}],\"copyrightYear\":\"2024\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/swiftte-basit-bir-bagimlilik-enjeksiyon-cercevesi-olusturma-bolum-3-otomatik-kayit\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/swiftte-basit-bir-bagimlilik-enjeksiyon-cercevesi-olusturma-bolum-3-otomatik-kayit\/\",\"name\":\"Swift'te Basit Bir Ba\u011f\u0131ml\u0131l\u0131k Enjeksiyon \u00c7er\u00e7evesi Olu\u015fturma [B\u00f6l\u00fcm 3]: Otomatik Kay\u0131t\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2024-11-05T17:45:09+00:00\",\"description\":\"Bu yaz\u0131da, daha \u00f6nceki iki yaz\u0131da yaratt\u0131\u011f\u0131m\u0131z basit ba\u011f\u0131ml\u0131l\u0131k enjeksiyon \u00e7er\u00e7evesini geli\u015ftirerek otomatik kay\u0131t \u00f6zelli\u011fini ekleyece\u011fiz. Otomatik kay\u0131t, ba\u011f\u0131ml\u0131l\u0131klar\u0131m\u0131z\u0131n \u00e7er\u00e7evemize otomatik olarak kaydedilmesini sa\u011flayarak kodumuzu daha da temiz ve d\u00fczenli hale getirecektir.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/swiftte-basit-bir-bagimlilik-enjeksiyon-cercevesi-olusturma-bolum-3-otomatik-kayit\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/swiftte-basit-bir-bagimlilik-enjeksiyon-cercevesi-olusturma-bolum-3-otomatik-kayit\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/swiftte-basit-bir-bagimlilik-enjeksiyon-cercevesi-olusturma-bolum-3-otomatik-kayit\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Swift&#8217;te Basit Bir Ba\u011f\u0131ml\u0131l\u0131k Enjeksiyon \u00c7er\u00e7evesi Olu\u015fturma [B\u00f6l\u00fcm 3]: Otomatik Kay\u0131t\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Swift'te Basit Bir Ba\u011f\u0131ml\u0131l\u0131k Enjeksiyon \u00c7er\u00e7evesi Olu\u015fturma [B\u00f6l\u00fcm 3]: Otomatik Kay\u0131t","description":"Bu yaz\u0131da, daha \u00f6nceki iki yaz\u0131da yaratt\u0131\u011f\u0131m\u0131z basit ba\u011f\u0131ml\u0131l\u0131k enjeksiyon \u00e7er\u00e7evesini geli\u015ftirerek otomatik kay\u0131t \u00f6zelli\u011fini ekleyece\u011fiz. Otomatik kay\u0131t, ba\u011f\u0131ml\u0131l\u0131klar\u0131m\u0131z\u0131n \u00e7er\u00e7evemize otomatik olarak kaydedilmesini sa\u011flayarak kodumuzu daha da temiz ve d\u00fczenli hale getirecektir.","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:\/\/fatihsoysal.com\/blog\/swiftte-basit-bir-bagimlilik-enjeksiyon-cercevesi-olusturma-bolum-3-otomatik-kayit\/","og_locale":"tr_TR","og_type":"article","og_title":"Swift'te Basit Bir Ba\u011f\u0131ml\u0131l\u0131k Enjeksiyon \u00c7er\u00e7evesi Olu\u015fturma [B\u00f6l\u00fcm 3]: Otomatik Kay\u0131t","og_description":"Bu yaz\u0131da, daha \u00f6nceki iki yaz\u0131da yaratt\u0131\u011f\u0131m\u0131z basit ba\u011f\u0131ml\u0131l\u0131k enjeksiyon \u00e7er\u00e7evesini geli\u015ftirerek otomatik kay\u0131t \u00f6zelli\u011fini ekleyece\u011fiz. Otomatik kay\u0131t, ba\u011f\u0131ml\u0131l\u0131klar\u0131m\u0131z\u0131n \u00e7er\u00e7evemize otomatik olarak kaydedilmesini sa\u011flayarak kodumuzu daha da temiz ve d\u00fczenli hale getirecektir.","og_url":"https:\/\/fatihsoysal.com\/blog\/swiftte-basit-bir-bagimlilik-enjeksiyon-cercevesi-olusturma-bolum-3-otomatik-kayit\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2024-11-05T17:45:09+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"3 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/swiftte-basit-bir-bagimlilik-enjeksiyon-cercevesi-olusturma-bolum-3-otomatik-kayit\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/swiftte-basit-bir-bagimlilik-enjeksiyon-cercevesi-olusturma-bolum-3-otomatik-kayit\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Swift&#8217;te Basit Bir Ba\u011f\u0131ml\u0131l\u0131k Enjeksiyon \u00c7er\u00e7evesi Olu\u015fturma [B\u00f6l\u00fcm 3]: Otomatik Kay\u0131t","datePublished":"2024-11-05T17:45:09+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/swiftte-basit-bir-bagimlilik-enjeksiyon-cercevesi-olusturma-bolum-3-otomatik-kayit\/"},"wordCount":576,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/swiftte-basit-bir-bagimlilik-enjeksiyon-cercevesi-olusturma-bolum-3-otomatik-kayit\/#respond"]}],"copyrightYear":"2024","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/swiftte-basit-bir-bagimlilik-enjeksiyon-cercevesi-olusturma-bolum-3-otomatik-kayit\/","url":"https:\/\/fatihsoysal.com\/blog\/swiftte-basit-bir-bagimlilik-enjeksiyon-cercevesi-olusturma-bolum-3-otomatik-kayit\/","name":"Swift'te Basit Bir Ba\u011f\u0131ml\u0131l\u0131k Enjeksiyon \u00c7er\u00e7evesi Olu\u015fturma [B\u00f6l\u00fcm 3]: Otomatik Kay\u0131t","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2024-11-05T17:45:09+00:00","description":"Bu yaz\u0131da, daha \u00f6nceki iki yaz\u0131da yaratt\u0131\u011f\u0131m\u0131z basit ba\u011f\u0131ml\u0131l\u0131k enjeksiyon \u00e7er\u00e7evesini geli\u015ftirerek otomatik kay\u0131t \u00f6zelli\u011fini ekleyece\u011fiz. Otomatik kay\u0131t, ba\u011f\u0131ml\u0131l\u0131klar\u0131m\u0131z\u0131n \u00e7er\u00e7evemize otomatik olarak kaydedilmesini sa\u011flayarak kodumuzu daha da temiz ve d\u00fczenli hale getirecektir.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/swiftte-basit-bir-bagimlilik-enjeksiyon-cercevesi-olusturma-bolum-3-otomatik-kayit\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/swiftte-basit-bir-bagimlilik-enjeksiyon-cercevesi-olusturma-bolum-3-otomatik-kayit\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/swiftte-basit-bir-bagimlilik-enjeksiyon-cercevesi-olusturma-bolum-3-otomatik-kayit\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Swift&#8217;te Basit Bir Ba\u011f\u0131ml\u0131l\u0131k Enjeksiyon \u00c7er\u00e7evesi Olu\u015fturma [B\u00f6l\u00fcm 3]: Otomatik Kay\u0131t"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/3069","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=3069"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/3069\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=3069"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=3069"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=3069"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}