<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[VnexTR: Bilişim Forumu - Swift Programlama]]></title>
		<link>https://vnextr.com/</link>
		<description><![CDATA[VnexTR: Bilişim Forumu - https://vnextr.com]]></description>
		<pubDate>Tue, 26 May 2026 18:46:26 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[Swift Programlama dilini öğrenebileceğiniz 15 kaynak]]></title>
			<link>https://vnextr.com/konu-swift-programlama-dilini-ogrenebileceginiz-15-kaynak--13381.html</link>
			<pubDate>Sun, 24 May 2020 19:15:50 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vnextr.com/member.php?action=profile&uid=39055">UçanKelebek</a>]]></dc:creator>
			<guid isPermaLink="false">https://vnextr.com/konu-swift-programlama-dilini-ogrenebileceginiz-15-kaynak--13381.html</guid>
			<description><![CDATA[<span style="font-weight: bold;" class="mycode_b">Apple'ın Haziran ayının başında düzenlediği WWDC'de tanıttığı ve yazılım geliştiriciler için konferansın en önemli konusu olan Swift'in ekosistemi oluşmaya yavaş yavaş başlıyor.</span><br />
<br />
 Bu yazımızda ise Swift'i öğrenebileceğiniz ve farklı seviyedeki geliştiricilerin hepsine hitap eden kaynakların olduğu, Swift'i daha iyi anlamınızı ve öğrenmenizi sağlayacak 15 ücretsiz kaynağı listeliyoruz.<br />
<br />
 <span style="font-weight: bold;" class="mycode_b">1. Apple - The Swift Programming Language</span><br />
<br />
 İlk önereceğimiz kaynak tabi ki resmi olarak Apple'ın yayınladığı "The Swift Programming Language" isimli e-kitap. 2 Haziran'da Apple App Store üzerinden ücretsiz olarak dağıtımı başlatılan kitap bizzat Swift dilini oluşturan ekibin elinden çıktığı için ciddi bir kaynak niteliği taşıyor. Swift dilinin tüm temel yapı taşlarının anlatıldığı, ek olarak örnek kodlar içeren e-kitabı buradan <a href="https://itunes.apple.com/us/book/swift-programming-language/id881256329" target="_blank" rel="noopener" class="mycode_url">indirebilirsiniz</a>.<br />
<br />
 <span style="font-weight: bold;" class="mycode_b">2.</span> <span style="font-weight: bold;" class="mycode_b">Apple - Introduction To Swift eğitim videoları</span><br />
<br />
 Eğer e-kitap okumayı çok sevmiyorsanız ya da "ben dinleyerek, izleyerek daha iyi ve hızlı ilerliyorum" diye düşünyorsanız Apple'ın sizi de unutmadığını söyleyebiliriz <img src="https://vnextr.com/images/icons/new/smile.png" alt="Gülümse" title="Gülümse" class="smilie smilie_1" /> Apple tarafından Youtube üzerinde yayınlanan ve 38 ayrı videodan oluşan "Swift Language Course" videolarında temel olarak Swift dili, syntax yapısı ve temel fonksiyonları anlatılıyor. Video derslere buradan <a href="http://www.youtube.com/playlist?list=PLxwBNxx9j4PW8bsVaXia9c20I87YEGNRu" target="_blank" rel="noopener" class="mycode_url">ulaşabilirsiniz</a>.<br />
<br />
 <span style="font-weight: bold;" class="mycode_b">3. Apple - The Swift Blog</span><br />
<br />
 12 Temmuz 2014'te sizlere ayrı bir <a href="https://webrazzi.com/2014/07/12/apple-programlama-dili-swift-icin-yeni-bir-blog-acti/" target="_blank" rel="noopener" class="mycode_url">yazı olarak d</a>uyurduğumuz Swift resmi blogu geliştiriciler için önemli bir kaynak olarak duruyor. Programlama dilini geliştiren mühendislerin farklı alanlardaki yazıları, Swift'in bilinmeyen yönlenleri ve derinlikleri için önemli bir <a href="https://developer.apple.com/swift/blog/" target="_blank" rel="noopener" class="mycode_url">kaynak.</a><br />
<br />
 <span style="font-weight: bold;" class="mycode_b">4. Team treehouse - Absolute Beginner’s Guide To Swift</span><br />
<br />
 <a href="http://blog.teamtreehouse.com/" target="_blank" rel="noopener" class="mycode_url">Team treehouse</a> tarafından açılan bir diğer Swift tabanlı blog olan "Absolute Beginner’s Guide To Swift", özellikle Swift dilinin yeni başlayanlara başlangıç ve temel konularla anlatıldığı önemli bir <a href="http://blog.teamtreehouse.com/an-absolute-beginners-guide-to-swift" target="_blank" rel="noopener" class="mycode_url">kaynak</a>.<br />
<br />
 <span style="font-weight: bold;" class="mycode_b">5.</span> <span style="font-weight: bold;" class="mycode_b">Udemy</span> - <span style="font-weight: bold;" class="mycode_b">Introduction To Swift For Non-Programmers</span><br />
<br />
 Apple'ın Swift'i duyururken kullandığı söylemlerden ve amaçlardan bir tanesi de Swift ile daha önce yazılım geliştirmemiş kullanıcılara ulaşabilmek, yazılım geliştirmeyi kolaylaştırmak ve bu sayede olabildiğince çok proje çıkarılmasını sağlamaktı. Udemy üzerinde yayınlanmış olan <a href="https://www.udemy.com/introduction-to-swift/" target="_blank" rel="noopener" class="mycode_url">"Introduction To Swift For Non-Programmers"</a> 8 videoluk ücretsiz eğitim daha önce yazılım tecrübesi olmayan kulanıcıların Swift ile tanışarak yazılım geliştirmeye adım atmalarını amaçlıyor.<br />
<br />
 <span style="font-weight: bold;" class="mycode_b">6. SoSoSwift</span><br />
<br />
 SosoSwift aslında bir eğitim platformu olmaktan çok Swift'i öğrenebileceğiniz kaynakların listelendiği bir site. Bunun yanında eğer siz de Swift için bir ders veya anlatım gerçekleştirdiyseniz ekibe mail atarak listelenmesini sağlayabilirsiniz.<br />
<br />
 <span style="font-weight: bold;" class="mycode_b">7. LearnSwift</span><br />
<br />
 LearnSwift aslında yapı olarak SoSoSwift ile benzer bir yayın mantığına sahip ancak SoSoSwift'ten biraz daha gelişmiş ve kategorilendirilmiş içeriğe sahip olduğunu söyleyebiliriz. LearnSwift üzerinde yazılar, video anlatımlar, örnekler, kütüphaneler bulunuyor ve bunlar seviyelerine göre <a href="http://www.learnswift.tips/" target="_blank" rel="noopener" class="mycode_url">ayrılmış durumda</a>.<br />
<br />
 <span style="font-weight: bold;" class="mycode_b">8. SwiftLang</span><br />
<br />
 SwiftLang, Swift ile uygulama geliştiren yazılımgeliştiricileri için bir forum. Forum üzerinden diğer geliştiricilerin yazdıklarını görebilir, sorularınızı iletebilir ve diğer Swift geliştiricileriyle iletişime geçebilirsiniz.<br />
<br />
 <span style="font-weight: bold;" class="mycode_b">9. Swift Cheat Sheet</span><br />
<br />
 Swift Cheat Sheet tek bir sayfa üzerinden Swift syntax ve fonksiyonlarını kullanıcılara örnekler üzerinden aktaran ücretsiz bir kaynak.<br />
<br />
 <span style="font-weight: bold;" class="mycode_b">10. Build Your First App With Swift</span><br />
<br />
 Swift ile ilgili kaynakları okudunuz, temel bilgileri aldınız sıra ilk uygulamaya geldiyse "Build Your First App With Swift" tam sizin için bir e-kitap. Swift ile "Tetris" benzeri bir oyunu adım adım anlatımlarla yapmanıza<a href="https://www.bloc.io/swiftris-build-your-first-ios-game-with-swift" target="_blank" rel="noopener" class="mycode_url"> olanak sağlıyor.</a><br />
<br />
 <span style="font-weight: bold;" class="mycode_b">11. Building A Simple OS X Application With Swift</span><br />
<br />
 Yazılım geliştirme uzmanı  Jeannot Muller 10 dakikalık bir video eğitimi ile sıfırdan basitçe OS X için Swift ile bir uygulama yapımını anlatıyor. Basitliği ve temel olarak 10 dakika içerisinde yararlı bilgiler içermesi için sıkılmadan izleyebileceğiniz bir <a href="http://www.youtube.com/watch?v=REjj1ruFQww" target="_blank" rel="noopener" class="mycode_url">eğitim videosu.</a><br />
<br />
 <span style="font-weight: bold;" class="mycode_b">12. Drawing With Swift In Playgrounds</span><br />
<br />
 Swift ile birlikte gelen en önemli yeniliklerden bir tanesi de "Playgrounds" olmuştu. Yazılım geliştirme uzmanı Join Nate Murray 25 dakikalık bir video ile "Playgrounds" ın temelini, incelikleri ve mantığı üzerine ücretsiz bir <a href="http://www.youtube.com/watch?v=F9T551Y0mYo" target="_blank" rel="noopener" class="mycode_url">eğitim veriyor.</a><br />
<br />
 <span style="font-weight: bold;" class="mycode_b">13. Creating A To-Do List App Using Swift</span><br />
<br />
 Swift ile basit bir uygulama geliştirmeyi anlatan videolardan bir diğeri "Creating A To-Do List App Using Swift" başlıklı eğitim videosu. Yaklaşık 35 dakika uzunluğundaki video ile basit bir "To-Do List" uygulamasının yapımı <a href="http://www.youtube.com/watch?v=4StXK83HPU0" target="_blank" rel="noopener" class="mycode_url">anlatılıyor.</a><br />
<br />
 <span style="font-weight: bold;" class="mycode_b">14. Developing IOS 8 Apps With Swift</span><br />
<br />
 Yazılım geliştirme uzmanı Jameson Quave tarafından 2 parça olarak (<a href="http://jamesonquave.com/blog/developing-ios-apps-using-swift-tutorial/" target="_blank" rel="noopener" class="mycode_url">1</a>-<a href="http://jamesonquave.com/blog/developing-ios-apps-using-swift-tutorial-part-2/" target="_blank" rel="noopener" class="mycode_url">2</a>) yayınlanan eğitim yazısında Swift ile iOS 8 için uygulama geliştirmenin temelleri anlatılıyor.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">15. Swift On StackOverflow</span><br />
<br />
 Tabi ki listenin olmazsa olmazlarından olan StackOverflow. Günümüzde yazılım geliştiriciler için çok önemli bir platform olan StackOverflow üzerinden Swift'in taglendiği başlıklara <a href="http://stackoverflow.com/questions/tagged/swift" target="_blank" rel="noopener" class="mycode_url">bakabilirsiniz</a>]]></description>
			<content:encoded><![CDATA[<span style="font-weight: bold;" class="mycode_b">Apple'ın Haziran ayının başında düzenlediği WWDC'de tanıttığı ve yazılım geliştiriciler için konferansın en önemli konusu olan Swift'in ekosistemi oluşmaya yavaş yavaş başlıyor.</span><br />
<br />
 Bu yazımızda ise Swift'i öğrenebileceğiniz ve farklı seviyedeki geliştiricilerin hepsine hitap eden kaynakların olduğu, Swift'i daha iyi anlamınızı ve öğrenmenizi sağlayacak 15 ücretsiz kaynağı listeliyoruz.<br />
<br />
 <span style="font-weight: bold;" class="mycode_b">1. Apple - The Swift Programming Language</span><br />
<br />
 İlk önereceğimiz kaynak tabi ki resmi olarak Apple'ın yayınladığı "The Swift Programming Language" isimli e-kitap. 2 Haziran'da Apple App Store üzerinden ücretsiz olarak dağıtımı başlatılan kitap bizzat Swift dilini oluşturan ekibin elinden çıktığı için ciddi bir kaynak niteliği taşıyor. Swift dilinin tüm temel yapı taşlarının anlatıldığı, ek olarak örnek kodlar içeren e-kitabı buradan <a href="https://itunes.apple.com/us/book/swift-programming-language/id881256329" target="_blank" rel="noopener" class="mycode_url">indirebilirsiniz</a>.<br />
<br />
 <span style="font-weight: bold;" class="mycode_b">2.</span> <span style="font-weight: bold;" class="mycode_b">Apple - Introduction To Swift eğitim videoları</span><br />
<br />
 Eğer e-kitap okumayı çok sevmiyorsanız ya da "ben dinleyerek, izleyerek daha iyi ve hızlı ilerliyorum" diye düşünyorsanız Apple'ın sizi de unutmadığını söyleyebiliriz <img src="https://vnextr.com/images/icons/new/smile.png" alt="Gülümse" title="Gülümse" class="smilie smilie_1" /> Apple tarafından Youtube üzerinde yayınlanan ve 38 ayrı videodan oluşan "Swift Language Course" videolarında temel olarak Swift dili, syntax yapısı ve temel fonksiyonları anlatılıyor. Video derslere buradan <a href="http://www.youtube.com/playlist?list=PLxwBNxx9j4PW8bsVaXia9c20I87YEGNRu" target="_blank" rel="noopener" class="mycode_url">ulaşabilirsiniz</a>.<br />
<br />
 <span style="font-weight: bold;" class="mycode_b">3. Apple - The Swift Blog</span><br />
<br />
 12 Temmuz 2014'te sizlere ayrı bir <a href="https://webrazzi.com/2014/07/12/apple-programlama-dili-swift-icin-yeni-bir-blog-acti/" target="_blank" rel="noopener" class="mycode_url">yazı olarak d</a>uyurduğumuz Swift resmi blogu geliştiriciler için önemli bir kaynak olarak duruyor. Programlama dilini geliştiren mühendislerin farklı alanlardaki yazıları, Swift'in bilinmeyen yönlenleri ve derinlikleri için önemli bir <a href="https://developer.apple.com/swift/blog/" target="_blank" rel="noopener" class="mycode_url">kaynak.</a><br />
<br />
 <span style="font-weight: bold;" class="mycode_b">4. Team treehouse - Absolute Beginner’s Guide To Swift</span><br />
<br />
 <a href="http://blog.teamtreehouse.com/" target="_blank" rel="noopener" class="mycode_url">Team treehouse</a> tarafından açılan bir diğer Swift tabanlı blog olan "Absolute Beginner’s Guide To Swift", özellikle Swift dilinin yeni başlayanlara başlangıç ve temel konularla anlatıldığı önemli bir <a href="http://blog.teamtreehouse.com/an-absolute-beginners-guide-to-swift" target="_blank" rel="noopener" class="mycode_url">kaynak</a>.<br />
<br />
 <span style="font-weight: bold;" class="mycode_b">5.</span> <span style="font-weight: bold;" class="mycode_b">Udemy</span> - <span style="font-weight: bold;" class="mycode_b">Introduction To Swift For Non-Programmers</span><br />
<br />
 Apple'ın Swift'i duyururken kullandığı söylemlerden ve amaçlardan bir tanesi de Swift ile daha önce yazılım geliştirmemiş kullanıcılara ulaşabilmek, yazılım geliştirmeyi kolaylaştırmak ve bu sayede olabildiğince çok proje çıkarılmasını sağlamaktı. Udemy üzerinde yayınlanmış olan <a href="https://www.udemy.com/introduction-to-swift/" target="_blank" rel="noopener" class="mycode_url">"Introduction To Swift For Non-Programmers"</a> 8 videoluk ücretsiz eğitim daha önce yazılım tecrübesi olmayan kulanıcıların Swift ile tanışarak yazılım geliştirmeye adım atmalarını amaçlıyor.<br />
<br />
 <span style="font-weight: bold;" class="mycode_b">6. SoSoSwift</span><br />
<br />
 SosoSwift aslında bir eğitim platformu olmaktan çok Swift'i öğrenebileceğiniz kaynakların listelendiği bir site. Bunun yanında eğer siz de Swift için bir ders veya anlatım gerçekleştirdiyseniz ekibe mail atarak listelenmesini sağlayabilirsiniz.<br />
<br />
 <span style="font-weight: bold;" class="mycode_b">7. LearnSwift</span><br />
<br />
 LearnSwift aslında yapı olarak SoSoSwift ile benzer bir yayın mantığına sahip ancak SoSoSwift'ten biraz daha gelişmiş ve kategorilendirilmiş içeriğe sahip olduğunu söyleyebiliriz. LearnSwift üzerinde yazılar, video anlatımlar, örnekler, kütüphaneler bulunuyor ve bunlar seviyelerine göre <a href="http://www.learnswift.tips/" target="_blank" rel="noopener" class="mycode_url">ayrılmış durumda</a>.<br />
<br />
 <span style="font-weight: bold;" class="mycode_b">8. SwiftLang</span><br />
<br />
 SwiftLang, Swift ile uygulama geliştiren yazılımgeliştiricileri için bir forum. Forum üzerinden diğer geliştiricilerin yazdıklarını görebilir, sorularınızı iletebilir ve diğer Swift geliştiricileriyle iletişime geçebilirsiniz.<br />
<br />
 <span style="font-weight: bold;" class="mycode_b">9. Swift Cheat Sheet</span><br />
<br />
 Swift Cheat Sheet tek bir sayfa üzerinden Swift syntax ve fonksiyonlarını kullanıcılara örnekler üzerinden aktaran ücretsiz bir kaynak.<br />
<br />
 <span style="font-weight: bold;" class="mycode_b">10. Build Your First App With Swift</span><br />
<br />
 Swift ile ilgili kaynakları okudunuz, temel bilgileri aldınız sıra ilk uygulamaya geldiyse "Build Your First App With Swift" tam sizin için bir e-kitap. Swift ile "Tetris" benzeri bir oyunu adım adım anlatımlarla yapmanıza<a href="https://www.bloc.io/swiftris-build-your-first-ios-game-with-swift" target="_blank" rel="noopener" class="mycode_url"> olanak sağlıyor.</a><br />
<br />
 <span style="font-weight: bold;" class="mycode_b">11. Building A Simple OS X Application With Swift</span><br />
<br />
 Yazılım geliştirme uzmanı  Jeannot Muller 10 dakikalık bir video eğitimi ile sıfırdan basitçe OS X için Swift ile bir uygulama yapımını anlatıyor. Basitliği ve temel olarak 10 dakika içerisinde yararlı bilgiler içermesi için sıkılmadan izleyebileceğiniz bir <a href="http://www.youtube.com/watch?v=REjj1ruFQww" target="_blank" rel="noopener" class="mycode_url">eğitim videosu.</a><br />
<br />
 <span style="font-weight: bold;" class="mycode_b">12. Drawing With Swift In Playgrounds</span><br />
<br />
 Swift ile birlikte gelen en önemli yeniliklerden bir tanesi de "Playgrounds" olmuştu. Yazılım geliştirme uzmanı Join Nate Murray 25 dakikalık bir video ile "Playgrounds" ın temelini, incelikleri ve mantığı üzerine ücretsiz bir <a href="http://www.youtube.com/watch?v=F9T551Y0mYo" target="_blank" rel="noopener" class="mycode_url">eğitim veriyor.</a><br />
<br />
 <span style="font-weight: bold;" class="mycode_b">13. Creating A To-Do List App Using Swift</span><br />
<br />
 Swift ile basit bir uygulama geliştirmeyi anlatan videolardan bir diğeri "Creating A To-Do List App Using Swift" başlıklı eğitim videosu. Yaklaşık 35 dakika uzunluğundaki video ile basit bir "To-Do List" uygulamasının yapımı <a href="http://www.youtube.com/watch?v=4StXK83HPU0" target="_blank" rel="noopener" class="mycode_url">anlatılıyor.</a><br />
<br />
 <span style="font-weight: bold;" class="mycode_b">14. Developing IOS 8 Apps With Swift</span><br />
<br />
 Yazılım geliştirme uzmanı Jameson Quave tarafından 2 parça olarak (<a href="http://jamesonquave.com/blog/developing-ios-apps-using-swift-tutorial/" target="_blank" rel="noopener" class="mycode_url">1</a>-<a href="http://jamesonquave.com/blog/developing-ios-apps-using-swift-tutorial-part-2/" target="_blank" rel="noopener" class="mycode_url">2</a>) yayınlanan eğitim yazısında Swift ile iOS 8 için uygulama geliştirmenin temelleri anlatılıyor.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">15. Swift On StackOverflow</span><br />
<br />
 Tabi ki listenin olmazsa olmazlarından olan StackOverflow. Günümüzde yazılım geliştiriciler için çok önemli bir platform olan StackOverflow üzerinden Swift'in taglendiği başlıklara <a href="http://stackoverflow.com/questions/tagged/swift" target="_blank" rel="noopener" class="mycode_url">bakabilirsiniz</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Swift Programlama – integer ve float Veri Tipleri]]></title>
			<link>https://vnextr.com/konu-swift-programlama-%E2%80%93-integer-ve-float-veri-tipleri--13382.html</link>
			<pubDate>Sun, 24 May 2020 19:15:29 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vnextr.com/member.php?action=profile&uid=39055">UçanKelebek</a>]]></dc:creator>
			<guid isPermaLink="false">https://vnextr.com/konu-swift-programlama-%E2%80%93-integer-ve-float-veri-tipleri--13382.html</guid>
			<description><![CDATA[<blockquote class="mycode_quote"><cite>Alıntı:</cite>Swift programlama dilinde, integer ve float veri tipleri için, çok kritik bir farklılık söz konusu değil. Yinede bilgi sahibi olmak için bu yazıyı sizlerle paylaşıyorum.</blockquote>
 <br />
<span style="font-weight: bold;" class="mycode_b">Integer</span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">Int </span><br />
<br />
Çoğu durumda, integer sayıları özel boyutlarda kullanmanız gerekmeyecek. Ancak swift programlama dili, ek olarak Int tipini destekliyor. Bu tip, üzerinde koştuğu platformun doğal karakret boyutuna sahip.<br />
<br />
32 bit platformlarda, Int boyutu Int32 ye<br />
64 bir platformlarda, Int boyutu Int64’e eşit.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">UInt</span><br />
<br />
UInt’de Int ile aynı boyuta sahip. UInt’i özel yapan nokta ise, işaretsiz(unsigned) integer tipine ihtiyacınız olduğunda, bu ihtiyacınızı giderebilmesi. Ancak, bu özel durum olmadıkça, Int tipini kullanmalısınız.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Floating-Point Sayılar</span><br />
<br />
Floating-Point sayılar,  bizim küsüratlı diye ifade ettiğimiz sayılara verilen isimdir.  Örneğin pi sayısı(3.14159). <br />
<br />
Swift programlama dili ise bize 2 tane küsüratlı sayı tutabileceğimiz tip tanımlıyor. Birincisi <span style="font-style: italic;" class="mycode_i"><span style="font-weight: bold;" class="mycode_b">Double</span></span>, ikincisi ise <span style="font-style: italic;" class="mycode_i"><span style="font-weight: bold;" class="mycode_b">Float</span></span>.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Double</span><br />
<br />
Double içerisinde 64-bit e kadar küsüratlı sayı tutabiliyoruz.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Float</span><br />
<br />
Float içerisinde 32-bit e kadar küsüratlı sayı tutabiliyoruz.]]></description>
			<content:encoded><![CDATA[<blockquote class="mycode_quote"><cite>Alıntı:</cite>Swift programlama dilinde, integer ve float veri tipleri için, çok kritik bir farklılık söz konusu değil. Yinede bilgi sahibi olmak için bu yazıyı sizlerle paylaşıyorum.</blockquote>
 <br />
<span style="font-weight: bold;" class="mycode_b">Integer</span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">Int </span><br />
<br />
Çoğu durumda, integer sayıları özel boyutlarda kullanmanız gerekmeyecek. Ancak swift programlama dili, ek olarak Int tipini destekliyor. Bu tip, üzerinde koştuğu platformun doğal karakret boyutuna sahip.<br />
<br />
32 bit platformlarda, Int boyutu Int32 ye<br />
64 bir platformlarda, Int boyutu Int64’e eşit.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">UInt</span><br />
<br />
UInt’de Int ile aynı boyuta sahip. UInt’i özel yapan nokta ise, işaretsiz(unsigned) integer tipine ihtiyacınız olduğunda, bu ihtiyacınızı giderebilmesi. Ancak, bu özel durum olmadıkça, Int tipini kullanmalısınız.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Floating-Point Sayılar</span><br />
<br />
Floating-Point sayılar,  bizim küsüratlı diye ifade ettiğimiz sayılara verilen isimdir.  Örneğin pi sayısı(3.14159). <br />
<br />
Swift programlama dili ise bize 2 tane küsüratlı sayı tutabileceğimiz tip tanımlıyor. Birincisi <span style="font-style: italic;" class="mycode_i"><span style="font-weight: bold;" class="mycode_b">Double</span></span>, ikincisi ise <span style="font-style: italic;" class="mycode_i"><span style="font-weight: bold;" class="mycode_b">Float</span></span>.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Double</span><br />
<br />
Double içerisinde 64-bit e kadar küsüratlı sayı tutabiliyoruz.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Float</span><br />
<br />
Float içerisinde 32-bit e kadar küsüratlı sayı tutabiliyoruz.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Swift Programlama – Type Aliases]]></title>
			<link>https://vnextr.com/konu-swift-programlama-%E2%80%93-type-aliases--13383.html</link>
			<pubDate>Sun, 24 May 2020 19:14:47 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vnextr.com/member.php?action=profile&uid=39055">UçanKelebek</a>]]></dc:creator>
			<guid isPermaLink="false">https://vnextr.com/konu-swift-programlama-%E2%80%93-type-aliases--13383.html</guid>
			<description><![CDATA[Swift programlama dilinde, Type Aliases kavramını, mevcut olan bir tip için takma ad olarak ifade edebiliriz.  Bu işlemi yapmak için <span style="font-style: italic;" class="mycode_i"><span style="font-weight: bold;" class="mycode_b">typealias</span></span><span style="font-weight: bold;" class="mycode_b"> </span>keywordünü kullanıyoruz.<br />
<br />
 Takma adları, geliştirmekte olduğunuz projenin içeriğine göre kullanmak isteyebilirsiniz. Örneğin dış bir kaynaktan veri alıyorsanız ve bu verinin spesifik bir boyutu var ise, typealias işinizi görecektir.<br />
<br />
 Örnek üzerinden gidecek olursak, <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>typealias NumSample = UInt16</code></div></div> <br />
NumSaple şeklinde tanımladığımız bu takma adı, istediğimiz her yerde, orjinal isminin yerine kullanabiliriz.<br />
<br />
 Örneğin, <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>let maxNumAmpliture = NumSample.min</code></div></div><br />
<span style="font-style: italic;" class="mycode_i"><span style="font-weight: bold;" class="mycode_b">NumSamle.min</span> </span>i çağırdığımız zaman aslında <span style="font-style: italic;" class="mycode_i"><span style="font-weight: bold;" class="mycode_b">UInt16.min</span> </span>‘i çağırmış oluyoruz.]]></description>
			<content:encoded><![CDATA[Swift programlama dilinde, Type Aliases kavramını, mevcut olan bir tip için takma ad olarak ifade edebiliriz.  Bu işlemi yapmak için <span style="font-style: italic;" class="mycode_i"><span style="font-weight: bold;" class="mycode_b">typealias</span></span><span style="font-weight: bold;" class="mycode_b"> </span>keywordünü kullanıyoruz.<br />
<br />
 Takma adları, geliştirmekte olduğunuz projenin içeriğine göre kullanmak isteyebilirsiniz. Örneğin dış bir kaynaktan veri alıyorsanız ve bu verinin spesifik bir boyutu var ise, typealias işinizi görecektir.<br />
<br />
 Örnek üzerinden gidecek olursak, <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>typealias NumSample = UInt16</code></div></div> <br />
NumSaple şeklinde tanımladığımız bu takma adı, istediğimiz her yerde, orjinal isminin yerine kullanabiliriz.<br />
<br />
 Örneğin, <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>let maxNumAmpliture = NumSample.min</code></div></div><br />
<span style="font-style: italic;" class="mycode_i"><span style="font-weight: bold;" class="mycode_b">NumSamle.min</span> </span>i çağırdığımız zaman aslında <span style="font-style: italic;" class="mycode_i"><span style="font-weight: bold;" class="mycode_b">UInt16.min</span> </span>‘i çağırmış oluyoruz.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Swift Programlama - Tuples]]></title>
			<link>https://vnextr.com/konu-swift-programlama-tuples--13384.html</link>
			<pubDate>Sun, 24 May 2020 19:14:22 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vnextr.com/member.php?action=profile&uid=39055">UçanKelebek</a>]]></dc:creator>
			<guid isPermaLink="false">https://vnextr.com/konu-swift-programlama-tuples--13384.html</guid>
			<description><![CDATA[Swift programlama dilinde, “<span style="font-weight: bold;" class="mycode_b">tuples”</span> birden çok değeri bir araya getirip, bir adet birleşik değer oluşturma işine yarar. Bir araya getirilen değerlerin tipleri aynı olmak zorunda değildir yani birbirinden farklı tipteki değerler bir tuple sayesinde tek bir değer olarak tutulabilir.<br />
<br />
Biraz daha anlaşılır olması için, örnekler üzerinden giderek bu konuyu açıklayalım. Apple’ın kaynak kitabında da belittiği gibi, bu birleşik değişkenlerin en güzel kullanım alanlarından biri <a href="https://tr.wikipedia.org/wiki/HTTP_durum_kodlar%C4%B1" target="_blank" rel="noopener" class="mycode_url">HTTP durum kodları</a>dır. HTTP durum kodlarında int ve string değerleri bir arada görüyoruz.<br />
<br />
Örneğin<br />
 <ul class="mycode_list"><li>404 Not Found<br />
</li>
<li>400 Bad Request<br />
</li>
<li>500 Internal Server Error<br />
</li>
<li>504 Gateway Timeout<br />
</li>
</ul>
<br />
 Bu örneklerde görmüş olduğumuz kırmızı yazılar int değerleri, mavi yazılar ise string değerleri gösterir. (int,string) şeklinde gösterilebilecek bu tuple’ın yanında, istediğimiz şekillerde tuple’lar oluşturabiliriz. Sadece 2 farklı tip’in yan yana gelmesine de gerek yok. Eğer istersek 3,4 değişkeni birlikte kullandığımız tuple’lar oluşturabiliriz, tamamen bizim insiyatifimizde.Şimdi konuyu örnek kodların üzerinden inceleyelim.<br />
<br />
 Tuple Oluşturma <span style="font-style: italic;" class="mycode_i">Koddaki açıklama satırlarında açıklamaları görebilirsiniz.</span> <br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>let http404Error = (404, "Not Found")<br />
/* Üstteki satırda bir int ve stringi bir araya getirerek <br />
http404Error adında bir tuple oluşturduk. */<br />
<br />
let (statusCode, statusMessage) = http404Error<br />
/* üstteki satırda yine int ve string değerleri bir araya getirerek <br />
http404Error adında bir tuple oluşturduk fakat değerleri direk <br />
yazmak yerine değişkenleri kullandık.*/<br />
<br />
let http404Error = (statusCode: 404, description: "Not Found")<br />
/*üstteki satırda yine int ve string değerleri bir araya getirerek <br />
http404Error adında bir tuple oluşturduk fakat değerleri aldığımız <br />
değişkenlerin değerlerini, tuple tanımlarken atadık. */</code></div></div>]]></description>
			<content:encoded><![CDATA[Swift programlama dilinde, “<span style="font-weight: bold;" class="mycode_b">tuples”</span> birden çok değeri bir araya getirip, bir adet birleşik değer oluşturma işine yarar. Bir araya getirilen değerlerin tipleri aynı olmak zorunda değildir yani birbirinden farklı tipteki değerler bir tuple sayesinde tek bir değer olarak tutulabilir.<br />
<br />
Biraz daha anlaşılır olması için, örnekler üzerinden giderek bu konuyu açıklayalım. Apple’ın kaynak kitabında da belittiği gibi, bu birleşik değişkenlerin en güzel kullanım alanlarından biri <a href="https://tr.wikipedia.org/wiki/HTTP_durum_kodlar%C4%B1" target="_blank" rel="noopener" class="mycode_url">HTTP durum kodları</a>dır. HTTP durum kodlarında int ve string değerleri bir arada görüyoruz.<br />
<br />
Örneğin<br />
 <ul class="mycode_list"><li>404 Not Found<br />
</li>
<li>400 Bad Request<br />
</li>
<li>500 Internal Server Error<br />
</li>
<li>504 Gateway Timeout<br />
</li>
</ul>
<br />
 Bu örneklerde görmüş olduğumuz kırmızı yazılar int değerleri, mavi yazılar ise string değerleri gösterir. (int,string) şeklinde gösterilebilecek bu tuple’ın yanında, istediğimiz şekillerde tuple’lar oluşturabiliriz. Sadece 2 farklı tip’in yan yana gelmesine de gerek yok. Eğer istersek 3,4 değişkeni birlikte kullandığımız tuple’lar oluşturabiliriz, tamamen bizim insiyatifimizde.Şimdi konuyu örnek kodların üzerinden inceleyelim.<br />
<br />
 Tuple Oluşturma <span style="font-style: italic;" class="mycode_i">Koddaki açıklama satırlarında açıklamaları görebilirsiniz.</span> <br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>let http404Error = (404, "Not Found")<br />
/* Üstteki satırda bir int ve stringi bir araya getirerek <br />
http404Error adında bir tuple oluşturduk. */<br />
<br />
let (statusCode, statusMessage) = http404Error<br />
/* üstteki satırda yine int ve string değerleri bir araya getirerek <br />
http404Error adında bir tuple oluşturduk fakat değerleri direk <br />
yazmak yerine değişkenleri kullandık.*/<br />
<br />
let http404Error = (statusCode: 404, description: "Not Found")<br />
/*üstteki satırda yine int ve string değerleri bir araya getirerek <br />
http404Error adında bir tuple oluşturduk fakat değerleri aldığımız <br />
değişkenlerin değerlerini, tuple tanımlarken atadık. */</code></div></div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Swift Programlama - Tuples Oluşturma]]></title>
			<link>https://vnextr.com/konu-swift-programlama-tuples-olusturma--13385.html</link>
			<pubDate>Sun, 24 May 2020 19:13:55 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vnextr.com/member.php?action=profile&uid=39055">UçanKelebek</a>]]></dc:creator>
			<guid isPermaLink="false">https://vnextr.com/konu-swift-programlama-tuples-olusturma--13385.html</guid>
			<description><![CDATA[<span style="font-style: italic;" class="mycode_i">Koddaki açıklama satırlarında açıklamaları görebilirsiniz.</span><br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>let http404Error = (404, "Not Found")<br />
/* Üstteki satırda bir int ve stringi bir araya getirerek <br />
http404Error adında bir tuple oluşturduk. */<br />
<br />
let (statusCode, statusMessage) = http404Error<br />
/* üstteki satırda yine int ve string değerleri bir araya getirerek <br />
http404Error adında bir tuple oluşturduk fakat değerleri direk <br />
yazmak yerine değişkenleri kullandık.*/<br />
<br />
let http404Error = (statusCode: 404, description: "Not Found")<br />
/*üstteki satırda yine int ve string değerleri bir araya getirerek <br />
http404Error adında bir tuple oluşturduk fakat değerleri aldığımız <br />
değişkenlerin değerlerini, tuple tanımlarken atadık. */</code></div></div>]]></description>
			<content:encoded><![CDATA[<span style="font-style: italic;" class="mycode_i">Koddaki açıklama satırlarında açıklamaları görebilirsiniz.</span><br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>let http404Error = (404, "Not Found")<br />
/* Üstteki satırda bir int ve stringi bir araya getirerek <br />
http404Error adında bir tuple oluşturduk. */<br />
<br />
let (statusCode, statusMessage) = http404Error<br />
/* üstteki satırda yine int ve string değerleri bir araya getirerek <br />
http404Error adında bir tuple oluşturduk fakat değerleri direk <br />
yazmak yerine değişkenleri kullandık.*/<br />
<br />
let http404Error = (statusCode: 404, description: "Not Found")<br />
/*üstteki satırda yine int ve string değerleri bir araya getirerek <br />
http404Error adında bir tuple oluşturduk fakat değerleri aldığımız <br />
değişkenlerin değerlerini, tuple tanımlarken atadık. */</code></div></div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Swift Programlama - Tuple Değerlerine Erişme ve Ekrana Yazdırma]]></title>
			<link>https://vnextr.com/konu-swift-programlama-tuple-degerlerine-erisme-ve-ekrana-yazdirma--13386.html</link>
			<pubDate>Sun, 24 May 2020 19:13:31 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vnextr.com/member.php?action=profile&uid=39055">UçanKelebek</a>]]></dc:creator>
			<guid isPermaLink="false">https://vnextr.com/konu-swift-programlama-tuple-degerlerine-erisme-ve-ekrana-yazdirma--13386.html</guid>
			<description><![CDATA[<span style="font-style: italic;" class="mycode_i">Koddaki açıklama satırlarında açıklamaları görebilirsiniz.</span><br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>let statusCode = 404<br />
let statusMessage = "Not Found"<br />
/* statusCode adında bir int değişken ve statusMessage <br />
adında bir string değişken oluşturup değerlerini atadık.*/<br />
<br />
let (statusCode, statusMessage) = http404Error<br />
/* bu iki değişkeni bir araya getirerek http404Error adında <br />
bir tuple oluşturduk */<br />
<br />
println("The status code is (statusCode)")<br />
// ekrana "The status code is 404" yazdırır<br />
println("The status message is (statusMessage)")<br />
// ekrana "The status message is Not Found" yazdırır<br />
<br />
println("The status code is (http404Error.0)")<br />
/* burada tuple'ın ilk elemanına ulaşılıyor<br />
ekrana "The status code is 404" yazdırır */<br />
<br />
println("The status message is (http404Error.1)")<br />
/* burada tuple'ın 2. elemanına ulaşılır<br />
ekrana "The status message is Not Found"yazdırır. */<br />
<br />
println("The status code is (http404Error.statusCode)")<br />
/* yada direkt olarak tuple'ın bileşenlerine de ulaşabiliriz.<br />
ekrana "The status code is 404" yazdırır */<br />
<br />
println("The status message is (http404Error.statusMessage)")<br />
// ekrana "The status message is Not Found" yazdırır </code></div></div>]]></description>
			<content:encoded><![CDATA[<span style="font-style: italic;" class="mycode_i">Koddaki açıklama satırlarında açıklamaları görebilirsiniz.</span><br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>let statusCode = 404<br />
let statusMessage = "Not Found"<br />
/* statusCode adında bir int değişken ve statusMessage <br />
adında bir string değişken oluşturup değerlerini atadık.*/<br />
<br />
let (statusCode, statusMessage) = http404Error<br />
/* bu iki değişkeni bir araya getirerek http404Error adında <br />
bir tuple oluşturduk */<br />
<br />
println("The status code is (statusCode)")<br />
// ekrana "The status code is 404" yazdırır<br />
println("The status message is (statusMessage)")<br />
// ekrana "The status message is Not Found" yazdırır<br />
<br />
println("The status code is (http404Error.0)")<br />
/* burada tuple'ın ilk elemanına ulaşılıyor<br />
ekrana "The status code is 404" yazdırır */<br />
<br />
println("The status message is (http404Error.1)")<br />
/* burada tuple'ın 2. elemanına ulaşılır<br />
ekrana "The status message is Not Found"yazdırır. */<br />
<br />
println("The status code is (http404Error.statusCode)")<br />
/* yada direkt olarak tuple'ın bileşenlerine de ulaşabiliriz.<br />
ekrana "The status code is 404" yazdırır */<br />
<br />
println("The status message is (http404Error.statusMessage)")<br />
// ekrana "The status message is Not Found" yazdırır </code></div></div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Swift Programlama - Fonksiyon Parametreleri ve Return Değerleri]]></title>
			<link>https://vnextr.com/konu-swift-programlama-fonksiyon-parametreleri-ve-return-degerleri--13387.html</link>
			<pubDate>Sun, 24 May 2020 19:12:50 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vnextr.com/member.php?action=profile&uid=39055">UçanKelebek</a>]]></dc:creator>
			<guid isPermaLink="false">https://vnextr.com/konu-swift-programlama-fonksiyon-parametreleri-ve-return-degerleri--13387.html</guid>
			<description><![CDATA[<span style="font-size: xx-large;" class="mycode_size">Parametre</span><br />
<br />
Fonksiyona input olarak giren ve içeride kullanılan değerlere parametre denir. Bir fonksiyonda hiç parametre olmayabilir, bir yada birde çok parametre de olabilir. <br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>func someFunc(Parameters) {<br />
    statements  <br />
}</code></div></div><br />
 Parametreler, fonksiyonu çağırırken belirlenir. Fonksiyon her çağrıldığı zaman farklı parametreler göndererek aynı işlemin farklı değişkenler ile yapılması sağlanır.<br />
<br />
 <span style="font-weight: bold;" class="mycode_b">Parametre Alan Fonksiyonlar</span><br />
<br />
 Aşağıdaki örnekte num1 ve num2 isminde iki değişkenimiz var ve fonksiyonumuz num1 ve num2  değerlerini birbirine ekleyerek toplama işlemi yapıyor ve sonuç değerini döndürüyor. Bizde dönen değeri println() fonksiyonun içerisine yazarak konsolda görünmesini sağlıyoruz. <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>func addition(num1: Int, num2: Int) -&gt; Int {<br />
    return num1 + num2<br />
}<br />
<br />
println(addition(19, 15))<br />
<br />
//Ekrana 39 yazdıracaktır.</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b">Parametre Almayan Fonksiyonlar </span><br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>func addition() -&gt; Int {<br />
        return 19 + 15<br />
    }<br />
<br />
println(lengthCalculator())<br />
<br />
<br />
//105</code></div></div> <br />
Burada da aynı işlemi yaptık <span style="font-weight: bold;" class="mycode_b">ancak </span> 19 ve 15 değerleri parametrik olmadığı için bu fonksiyon hep aynı sayıları toplayacaktır. O yüzden toplama işlemi yapmaktadır diyemeyiz. Sürekli 105 sonucunu döndürüyor çünkü.<br />
<br />
 <span style="font-size: xx-large;" class="mycode_size">Return Değerleri</span><br />
<br />
Bir fonksiyonun sonucunda elde edilen ve fonksiyonun çağrıldığı satıra geri döndürülen değere return değeri denir. Örneğin üstteki örnekte toplama işlemini yaptıkdan sonra <span style="font-style: italic;" class="mycode_i">return </span> diyerek yazdığımız değer…<br />
Her fonksiyonda return değeri olmayabilir. Bu tamamen fonksiyonun yapacağı iş ile alakalı.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Return Değeri Almayan Fonksiyonlar</span><br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>func sayHello(personName: String) {<br />
    println("Hello, (personName)!")<br />
}<br />
sayGoodbye("Muhammed")<br />
<br />
//Hello, Muhammed</code></div></div> Üstteki kodda return değeri almayan bir fonksiyon görüyorsunuz. Fonksiyonu çağırdığımızda, println fonksiyonu ile ismimizi konsola yazdırıyor.<br />
<br />
 <span style="font-weight: bold;" class="mycode_b">Return Değeri Alan Fonksiyonlar</span><br />
<br />
 return değeri olan fonksiyonlarda, return olacak değeri belirleyen bir (-&gt;<img src="https://vnextr.com/images/icons/new/gozkirp.png" alt="Göz Kırp" title="Göz Kırp" class="smilie smilie_2" /> işareti bulunur. Eğer bu int ise fonksiyon int değerini döner, String ise fonksiyon String değerini döner demektir. <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>Üstteki kodda return değeri almayan bir fonksiyon görüyorsunuz. Fonksiyonu çağırdığımızda, println fonksiyonu ile ismimizi konsola yazdırıyor.Return Değeri Alan Fonksiyonlarreturn değeri olan fonksiyonlarda, return olacak değeri belirleyen bir (-&gt;;) işareti bulunur. Eğer bu int ise fonksiyon int değerini döner, String ise fonksiyon String değerini döner demektir.</code></div></div> <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>func addition(num1: Int, num2: Int) -&gt; Int {<br />
    return num1 + num2<br />
}</code></div></div>]]></description>
			<content:encoded><![CDATA[<span style="font-size: xx-large;" class="mycode_size">Parametre</span><br />
<br />
Fonksiyona input olarak giren ve içeride kullanılan değerlere parametre denir. Bir fonksiyonda hiç parametre olmayabilir, bir yada birde çok parametre de olabilir. <br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>func someFunc(Parameters) {<br />
    statements  <br />
}</code></div></div><br />
 Parametreler, fonksiyonu çağırırken belirlenir. Fonksiyon her çağrıldığı zaman farklı parametreler göndererek aynı işlemin farklı değişkenler ile yapılması sağlanır.<br />
<br />
 <span style="font-weight: bold;" class="mycode_b">Parametre Alan Fonksiyonlar</span><br />
<br />
 Aşağıdaki örnekte num1 ve num2 isminde iki değişkenimiz var ve fonksiyonumuz num1 ve num2  değerlerini birbirine ekleyerek toplama işlemi yapıyor ve sonuç değerini döndürüyor. Bizde dönen değeri println() fonksiyonun içerisine yazarak konsolda görünmesini sağlıyoruz. <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>func addition(num1: Int, num2: Int) -&gt; Int {<br />
    return num1 + num2<br />
}<br />
<br />
println(addition(19, 15))<br />
<br />
//Ekrana 39 yazdıracaktır.</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b">Parametre Almayan Fonksiyonlar </span><br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>func addition() -&gt; Int {<br />
        return 19 + 15<br />
    }<br />
<br />
println(lengthCalculator())<br />
<br />
<br />
//105</code></div></div> <br />
Burada da aynı işlemi yaptık <span style="font-weight: bold;" class="mycode_b">ancak </span> 19 ve 15 değerleri parametrik olmadığı için bu fonksiyon hep aynı sayıları toplayacaktır. O yüzden toplama işlemi yapmaktadır diyemeyiz. Sürekli 105 sonucunu döndürüyor çünkü.<br />
<br />
 <span style="font-size: xx-large;" class="mycode_size">Return Değerleri</span><br />
<br />
Bir fonksiyonun sonucunda elde edilen ve fonksiyonun çağrıldığı satıra geri döndürülen değere return değeri denir. Örneğin üstteki örnekte toplama işlemini yaptıkdan sonra <span style="font-style: italic;" class="mycode_i">return </span> diyerek yazdığımız değer…<br />
Her fonksiyonda return değeri olmayabilir. Bu tamamen fonksiyonun yapacağı iş ile alakalı.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Return Değeri Almayan Fonksiyonlar</span><br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>func sayHello(personName: String) {<br />
    println("Hello, (personName)!")<br />
}<br />
sayGoodbye("Muhammed")<br />
<br />
//Hello, Muhammed</code></div></div> Üstteki kodda return değeri almayan bir fonksiyon görüyorsunuz. Fonksiyonu çağırdığımızda, println fonksiyonu ile ismimizi konsola yazdırıyor.<br />
<br />
 <span style="font-weight: bold;" class="mycode_b">Return Değeri Alan Fonksiyonlar</span><br />
<br />
 return değeri olan fonksiyonlarda, return olacak değeri belirleyen bir (-&gt;<img src="https://vnextr.com/images/icons/new/gozkirp.png" alt="Göz Kırp" title="Göz Kırp" class="smilie smilie_2" /> işareti bulunur. Eğer bu int ise fonksiyon int değerini döner, String ise fonksiyon String değerini döner demektir. <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>Üstteki kodda return değeri almayan bir fonksiyon görüyorsunuz. Fonksiyonu çağırdığımızda, println fonksiyonu ile ismimizi konsola yazdırıyor.Return Değeri Alan Fonksiyonlarreturn değeri olan fonksiyonlarda, return olacak değeri belirleyen bir (-&gt;;) işareti bulunur. Eğer bu int ise fonksiyon int değerini döner, String ise fonksiyon String değerini döner demektir.</code></div></div> <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>func addition(num1: Int, num2: Int) -&gt; Int {<br />
    return num1 + num2<br />
}</code></div></div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Swift Hakkında | Swift’i Tanıyalım]]></title>
			<link>https://vnextr.com/konu-swift-hakkinda-swift%E2%80%99i-taniyalim--12373.html</link>
			<pubDate>Wed, 06 May 2020 18:34:27 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vnextr.com/member.php?action=profile&uid=17">Selim</a>]]></dc:creator>
			<guid isPermaLink="false">https://vnextr.com/konu-swift-hakkinda-swift%E2%80%99i-taniyalim--12373.html</guid>
			<description><![CDATA[<span style="font-weight: bold;" class="mycode_b">Swift</span> dili nedir ne değildir biraz ondan bahsederek yazıma başlamak istiyorum.<br />
 <span style="font-weight: bold;" class="mycode_b">Swift</span> , 2 Haziran 2014 yılında Apple tarafından düzenenlenen WWDC konferansında duyrulmuştur.<br />
<br />
1-<span style="font-weight: bold;" class="mycode_b"> <span style="font-style: italic;" class="mycode_i">Swift</span></span>, Apple tarafından iOS ve OS X platformlarına iOS ve Mac uygulamaları geliştirmek için oluşturulmuş, öğrenilmesi kolay, nesne yönelimli ve güçlü bir dildir.<br />
<br />
2- <span style="font-weight: bold;" class="mycode_b"><span style="font-style: italic;" class="mycode_i">Swift</span></span> programlama dilide Objective C gibi Xcode programı kullanılarak yazılabilir.<br />
<br />
3- <span style="font-weight: bold;" class="mycode_b"><span style="font-style: italic;" class="mycode_i">Swift</span> </span>Objective-C, Rust, Haskell, Ruby, Python gibi birçok programlama dilinden yararlanılarak yazılmış sağlam bir dildir.<br />
<br />
4- <span style="font-weight: bold;" class="mycode_b"><span style="font-style: italic;" class="mycode_i">Swift</span></span>, kullanımı kolay ve açık kaynaklı bir dildir. Bu yüzden, bir fikri olan herkes, zaman kaybetmeden inanılmaz şeyler yapabilir.<br />
<br />
5- <span style="font-weight: bold;" class="mycode_b"><span style="font-style: italic;" class="mycode_i">Swift</span></span>, gerçek zamanlı geri bildirim olanağı sağlayan ve mevcut Objective-C koduna sorunsuz bir şekilde monte edilebilen hızlı, verimli, güçlü bir dildir.<br />
<br />
6- <span style="font-weight: bold;" class="mycode_b"><span style="font-style: italic;" class="mycode_i">Swift</span></span> dili 2014 yılında çıkmasına rağmen birçok kullanıcı tarafından sevildi, büyük bir ilgi ve alaka gördü ve görmeye de devam ediyor. Swift kodunu uygulamalarına entegre eden geliştiricilerin sayısı gün geçtikçe artıyor. Bu verilerden yola çıkarak Objective C den Swift’e büyük bir göç bulunmaktadır diye bir sonuç çıkarabiliriz. Hatta bazıları, tamamen Swift ile kodlanmış yeni uygulamalar geliştiriyor.<br />
<br />
7- <span style="font-weight: bold;" class="mycode_b"><span style="font-style: italic;" class="mycode_i">Swift</span></span> ile daha hızlı ve kolay bir şekilde uygulamalar geliştirebilirsiniz. Derin öncelikli arama(DFS) algoritması ile bir grafikte 10.000 tam sayı bulunmuştur. Swift , Objective C ye göre 2.6 kat daha hızlı çalışmaktadır.<br />
<br />
8- <span style="font-weight: bold;" class="mycode_b"><span style="font-style: italic;" class="mycode_i">Swift</span></span>’i birçok üniversite ve eğitim kurumlarında, bilgisayar programlama derslerinde öğretiliyor ve iTunes U’da ücretsiz ders imkanı sunuyor. Swift derslerinin okutulduğu bazı üniversiteler aşağıda listelenmiştir :<br />
<br />
<span style="font-size: small;" class="mycode_size">Aberystwyth University<br />
California Polytechnic<br />
State University<br />
Cuesta College<br />
Drexel University<br />
Full Sail University Technical University of Munich</span>]]></description>
			<content:encoded><![CDATA[<span style="font-weight: bold;" class="mycode_b">Swift</span> dili nedir ne değildir biraz ondan bahsederek yazıma başlamak istiyorum.<br />
 <span style="font-weight: bold;" class="mycode_b">Swift</span> , 2 Haziran 2014 yılında Apple tarafından düzenenlenen WWDC konferansında duyrulmuştur.<br />
<br />
1-<span style="font-weight: bold;" class="mycode_b"> <span style="font-style: italic;" class="mycode_i">Swift</span></span>, Apple tarafından iOS ve OS X platformlarına iOS ve Mac uygulamaları geliştirmek için oluşturulmuş, öğrenilmesi kolay, nesne yönelimli ve güçlü bir dildir.<br />
<br />
2- <span style="font-weight: bold;" class="mycode_b"><span style="font-style: italic;" class="mycode_i">Swift</span></span> programlama dilide Objective C gibi Xcode programı kullanılarak yazılabilir.<br />
<br />
3- <span style="font-weight: bold;" class="mycode_b"><span style="font-style: italic;" class="mycode_i">Swift</span> </span>Objective-C, Rust, Haskell, Ruby, Python gibi birçok programlama dilinden yararlanılarak yazılmış sağlam bir dildir.<br />
<br />
4- <span style="font-weight: bold;" class="mycode_b"><span style="font-style: italic;" class="mycode_i">Swift</span></span>, kullanımı kolay ve açık kaynaklı bir dildir. Bu yüzden, bir fikri olan herkes, zaman kaybetmeden inanılmaz şeyler yapabilir.<br />
<br />
5- <span style="font-weight: bold;" class="mycode_b"><span style="font-style: italic;" class="mycode_i">Swift</span></span>, gerçek zamanlı geri bildirim olanağı sağlayan ve mevcut Objective-C koduna sorunsuz bir şekilde monte edilebilen hızlı, verimli, güçlü bir dildir.<br />
<br />
6- <span style="font-weight: bold;" class="mycode_b"><span style="font-style: italic;" class="mycode_i">Swift</span></span> dili 2014 yılında çıkmasına rağmen birçok kullanıcı tarafından sevildi, büyük bir ilgi ve alaka gördü ve görmeye de devam ediyor. Swift kodunu uygulamalarına entegre eden geliştiricilerin sayısı gün geçtikçe artıyor. Bu verilerden yola çıkarak Objective C den Swift’e büyük bir göç bulunmaktadır diye bir sonuç çıkarabiliriz. Hatta bazıları, tamamen Swift ile kodlanmış yeni uygulamalar geliştiriyor.<br />
<br />
7- <span style="font-weight: bold;" class="mycode_b"><span style="font-style: italic;" class="mycode_i">Swift</span></span> ile daha hızlı ve kolay bir şekilde uygulamalar geliştirebilirsiniz. Derin öncelikli arama(DFS) algoritması ile bir grafikte 10.000 tam sayı bulunmuştur. Swift , Objective C ye göre 2.6 kat daha hızlı çalışmaktadır.<br />
<br />
8- <span style="font-weight: bold;" class="mycode_b"><span style="font-style: italic;" class="mycode_i">Swift</span></span>’i birçok üniversite ve eğitim kurumlarında, bilgisayar programlama derslerinde öğretiliyor ve iTunes U’da ücretsiz ders imkanı sunuyor. Swift derslerinin okutulduğu bazı üniversiteler aşağıda listelenmiştir :<br />
<br />
<span style="font-size: small;" class="mycode_size">Aberystwyth University<br />
California Polytechnic<br />
State University<br />
Cuesta College<br />
Drexel University<br />
Full Sail University Technical University of Munich</span>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Swift Enumeration]]></title>
			<link>https://vnextr.com/konu-swift-enumeration--5341.html</link>
			<pubDate>Tue, 19 Nov 2019 05:54:17 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vnextr.com/member.php?action=profile&uid=28346">^Phoenix^</a>]]></dc:creator>
			<guid isPermaLink="false">https://vnextr.com/konu-swift-enumeration--5341.html</guid>
			<description><![CDATA[<span style="font-style: italic;" class="mycode_i">Enumaration,</span> birbiri ile bağlantılı değerler için ortak bir tip oluşturur ve bu tipi kullanmanızı sağlar. C dilinde enumların int değerlerine atandığını biliyoruz ancak Swift programlama dilinde, enumlar daha esnek bir şekilde karşımıza çıkıyor.<br />
<br />
 <span style="color: #FF0000;" class="mycode_color"><span style="font-size: large;" class="mycode_size">Enumaration Syntax’ı</span></span><br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>enum EnumerationName {<br />
    // enumeration tanımı burada yapılır<br />
}</code></div></div><br />
Örnek Kullanım<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>enum Direction {<br />
    case North<br />
    case South<br />
    case East<br />
    case West<br />
}</code></div></div><br />
enum tanımlarken tek satırda virgülleri kullanarak ta tanımlama yapabiliyoruz.<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>enum Planet {<br />
    case Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune<br />
}</code></div></div><br />
<span style="color: #FF0000;" class="mycode_color"><span style="font-size: large;" class="mycode_size">Enumları Değişkelere Atama</span></span><br />
<br />
enumları değişkenlere atarken enumadı.değeri şeklinde kullanmamız yeterli.<br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>var myWay = Direction.West<br />
<br />
<br />
//myWay değişkenini bir kez Direction enum'u ile tanımlanınca, daha sonra kısa syntax kullanabiliriz<br />
<br />
directionToHead = .East</code></div></div> <br />
<span style="color: #FF0000;" class="mycode_color"><span style="font-size: large;" class="mycode_size">Switch Case İle Enum İçerisindeki Değerlere Ulaşma</span></span><br />
<br />
Switch case kullanarak enum içerisindeki değerlere ulaşabiliriz. Bunu yapmak için enum içerisindeki her bir case’i, switch case’in her bir case’i olarak düşünebiliriz.<br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>myWay = .South<br />
switch myWay {<br />
case .North:<br />
    println("Kuzey yönündeyim !")<br />
case .South:<br />
    println("GÜney yönündeyim !")<br />
case .East:<br />
    println("Doğu yönündeyim !")<br />
case .West:<br />
    println("Batı yönündeyim !")<br />
}<br />
// Konsola "Güney yönündeyim !" yazacaktır</code></div></div> <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>let somePlanet = Planet.Earth<br />
switch somePlanet {<br />
case .Earth:<br />
    println("Dünya gezegenindesin !")<br />
default:<br />
    println("Ay uydusundasın !")<br />
}<br />
// Konsola "Dünya gezegenindesin !” yazdıracaktır.<br />
//Gördüğünüz gibi, switch case'de olan default değerini de kullanabiliyoruz.</code></div></div><br />
 <span style="color: #FF0000;" class="mycode_color"><span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">İlişkili(Associated) Değerler</span></span></span><br />
<br />
Swift programlama dili, enum değerlerini özel tiplerde veriler tutmak için de kullanmamıza izin veriyor.<br />
 Örnek olarak 1D barkod formatını ele alabiliriz. Her bir barkod numara sistemi basamağı ile başlar, bunu 5 basamaklı üretici kodu takip eder, bunu da 5 basamaklı ürün kodu takip eder ve en sonunda da kontrol basamağı bulunur.<br />
<br />
<img src="https://forumcsdarkresim.com/galeri/d5K3F10.png" width="300" height="132" alt="[Resim: d5K3F10.png]" class="mycode_img" /><br />
<br />
QR formatlı 2D barkodlar ise ISO 8859-1 formatında karakter kullanırlar ve 2953’e kadar string karakter saklayabilirler.<br />
<br />
<img src="https://forumcsdarkresim.com/galeri/q10J10R9.png" width="173" height="168" alt="[Resim: q10J10R9.png]" class="mycode_img" /><br />
<br />
Şimdi ise yukarıda gösterdiğimiz barkodlar için enum tanımlayalım…<br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>enum Barcode {<br />
    case UPCA(Int, Int, Int, Int)<br />
    case QRCode(String)<br />
}</code></div></div><br />
Ve değişkene atayalım..<br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>var barcodeValue = Barcode.UPCA(8, 85909, 51226, 3)<br />
//1D barkod için değer atadık.<br />
<br />
<br />
barcodeValue = .QRCode("forumcsdark.com")<br />
//Şimdide aynı değişkene QR formatında  2D barkod değeri atadık<br />
//Barcode.QRCode şeklinde uzun halde yazmadım. Çünkü üstte 1 kere kullandım, gerek kalmadı.</code></div></div><br />
Farkettiğiniz gibi değişkendeki barkod değeri hem int, hem de string oldu. Yani enum’larda hem string hemde int değerleri aynı anda tutabildik.<br />
<br />
<span style="color: #FF0000;" class="mycode_color">Not :</span>Burada önemli olan bir nokta var ! int yada String değerlerinden aynı anda sadece 1 tanesi tutulabilir.<br />
<br />
<span style="color: #FF0000;" class="mycode_color"><span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Sıralama</span></span></span><br />
<br />
Sıralama mantığını aşağıdaki örnek üzerinden kolayca anlayabilirsiniz.<br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>enum Planet: Int {<br />
    case Mercury = 1, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune<br />
}<br />
//Planet diye bir enum tanımladık.<br />
<br />
<br />
let earthsOrder = Planet.Earth.toRaw()<br />
// Earth isimli elemanın sırası  3'e eşit.<br />
<br />
<br />
let possiblePlanet = Planet.fromRaw(7)<br />
// 7. sıradaki eleman Planet.Uranus'e eşit.<br />
<br />
<br />
let positionToFind = 9<br />
if let somePlanet = Planet.fromRaw(positionToFind) {<br />
    switch somePlanet {<br />
    case .Earth:<br />
        println("Dünya..")<br />
    default:<br />
        println("Dünya dışı bir yer..")<br />
    }<br />
} else {<br />
    println("Sıralama (positionToFind) da hiç bir gezegen yok.")<br />
}<br />
//Konsola "Sıralama 9 da hiç bir gezegen yok"</code></div></div>]]></description>
			<content:encoded><![CDATA[<span style="font-style: italic;" class="mycode_i">Enumaration,</span> birbiri ile bağlantılı değerler için ortak bir tip oluşturur ve bu tipi kullanmanızı sağlar. C dilinde enumların int değerlerine atandığını biliyoruz ancak Swift programlama dilinde, enumlar daha esnek bir şekilde karşımıza çıkıyor.<br />
<br />
 <span style="color: #FF0000;" class="mycode_color"><span style="font-size: large;" class="mycode_size">Enumaration Syntax’ı</span></span><br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>enum EnumerationName {<br />
    // enumeration tanımı burada yapılır<br />
}</code></div></div><br />
Örnek Kullanım<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>enum Direction {<br />
    case North<br />
    case South<br />
    case East<br />
    case West<br />
}</code></div></div><br />
enum tanımlarken tek satırda virgülleri kullanarak ta tanımlama yapabiliyoruz.<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>enum Planet {<br />
    case Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune<br />
}</code></div></div><br />
<span style="color: #FF0000;" class="mycode_color"><span style="font-size: large;" class="mycode_size">Enumları Değişkelere Atama</span></span><br />
<br />
enumları değişkenlere atarken enumadı.değeri şeklinde kullanmamız yeterli.<br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>var myWay = Direction.West<br />
<br />
<br />
//myWay değişkenini bir kez Direction enum'u ile tanımlanınca, daha sonra kısa syntax kullanabiliriz<br />
<br />
directionToHead = .East</code></div></div> <br />
<span style="color: #FF0000;" class="mycode_color"><span style="font-size: large;" class="mycode_size">Switch Case İle Enum İçerisindeki Değerlere Ulaşma</span></span><br />
<br />
Switch case kullanarak enum içerisindeki değerlere ulaşabiliriz. Bunu yapmak için enum içerisindeki her bir case’i, switch case’in her bir case’i olarak düşünebiliriz.<br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>myWay = .South<br />
switch myWay {<br />
case .North:<br />
    println("Kuzey yönündeyim !")<br />
case .South:<br />
    println("GÜney yönündeyim !")<br />
case .East:<br />
    println("Doğu yönündeyim !")<br />
case .West:<br />
    println("Batı yönündeyim !")<br />
}<br />
// Konsola "Güney yönündeyim !" yazacaktır</code></div></div> <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>let somePlanet = Planet.Earth<br />
switch somePlanet {<br />
case .Earth:<br />
    println("Dünya gezegenindesin !")<br />
default:<br />
    println("Ay uydusundasın !")<br />
}<br />
// Konsola "Dünya gezegenindesin !” yazdıracaktır.<br />
//Gördüğünüz gibi, switch case'de olan default değerini de kullanabiliyoruz.</code></div></div><br />
 <span style="color: #FF0000;" class="mycode_color"><span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">İlişkili(Associated) Değerler</span></span></span><br />
<br />
Swift programlama dili, enum değerlerini özel tiplerde veriler tutmak için de kullanmamıza izin veriyor.<br />
 Örnek olarak 1D barkod formatını ele alabiliriz. Her bir barkod numara sistemi basamağı ile başlar, bunu 5 basamaklı üretici kodu takip eder, bunu da 5 basamaklı ürün kodu takip eder ve en sonunda da kontrol basamağı bulunur.<br />
<br />
<img src="https://forumcsdarkresim.com/galeri/d5K3F10.png" width="300" height="132" alt="[Resim: d5K3F10.png]" class="mycode_img" /><br />
<br />
QR formatlı 2D barkodlar ise ISO 8859-1 formatında karakter kullanırlar ve 2953’e kadar string karakter saklayabilirler.<br />
<br />
<img src="https://forumcsdarkresim.com/galeri/q10J10R9.png" width="173" height="168" alt="[Resim: q10J10R9.png]" class="mycode_img" /><br />
<br />
Şimdi ise yukarıda gösterdiğimiz barkodlar için enum tanımlayalım…<br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>enum Barcode {<br />
    case UPCA(Int, Int, Int, Int)<br />
    case QRCode(String)<br />
}</code></div></div><br />
Ve değişkene atayalım..<br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>var barcodeValue = Barcode.UPCA(8, 85909, 51226, 3)<br />
//1D barkod için değer atadık.<br />
<br />
<br />
barcodeValue = .QRCode("forumcsdark.com")<br />
//Şimdide aynı değişkene QR formatında  2D barkod değeri atadık<br />
//Barcode.QRCode şeklinde uzun halde yazmadım. Çünkü üstte 1 kere kullandım, gerek kalmadı.</code></div></div><br />
Farkettiğiniz gibi değişkendeki barkod değeri hem int, hem de string oldu. Yani enum’larda hem string hemde int değerleri aynı anda tutabildik.<br />
<br />
<span style="color: #FF0000;" class="mycode_color">Not :</span>Burada önemli olan bir nokta var ! int yada String değerlerinden aynı anda sadece 1 tanesi tutulabilir.<br />
<br />
<span style="color: #FF0000;" class="mycode_color"><span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Sıralama</span></span></span><br />
<br />
Sıralama mantığını aşağıdaki örnek üzerinden kolayca anlayabilirsiniz.<br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>enum Planet: Int {<br />
    case Mercury = 1, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune<br />
}<br />
//Planet diye bir enum tanımladık.<br />
<br />
<br />
let earthsOrder = Planet.Earth.toRaw()<br />
// Earth isimli elemanın sırası  3'e eşit.<br />
<br />
<br />
let possiblePlanet = Planet.fromRaw(7)<br />
// 7. sıradaki eleman Planet.Uranus'e eşit.<br />
<br />
<br />
let positionToFind = 9<br />
if let somePlanet = Planet.fromRaw(positionToFind) {<br />
    switch somePlanet {<br />
    case .Earth:<br />
        println("Dünya..")<br />
    default:<br />
        println("Dünya dışı bir yer..")<br />
    }<br />
} else {<br />
    println("Sıralama (positionToFind) da hiç bir gezegen yok.")<br />
}<br />
//Konsola "Sıralama 9 da hiç bir gezegen yok"</code></div></div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Swift Fonksiyon Tipleri]]></title>
			<link>https://vnextr.com/konu-swift-fonksiyon-tipleri--5340.html</link>
			<pubDate>Tue, 19 Nov 2019 05:39:23 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vnextr.com/member.php?action=profile&uid=28346">^Phoenix^</a>]]></dc:creator>
			<guid isPermaLink="false">https://vnextr.com/konu-swift-fonksiyon-tipleri--5340.html</guid>
			<description><![CDATA[Her fonksiyon, parametre ve return değerlerinin tipleriyle belirlenen bir <span style="font-style: italic;" class="mycode_i">fonksiyon tipine</span> sahiptir.<br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>func sum(a: Int, b: Int) -&gt; Int {<br />
    return a + b<br />
}<br />
func multiply(a: Int, b: Int) -&gt; Int {<br />
    return a * b<br />
}</code></div></div><br />
Üstte yer alan sum ve multiply fonksiyonları 2’şer adet int tipinde parametre değeri almaktadır. Return değeri olarak ise yine int tipinde bir değer döndürmektedir.<br />
<br />
Bu iki fonksiyonda <span style="font-style: italic;" class="mycode_i">(Int, Int) -&gt; Int</span> tipindedir ve şu şekilde okunabilir:<br />
 Bu fonksiyon 2 adet int tipinde parametre sahibidir ve işlem sonucunda int tipinde bir return değerine sahiptir. <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>func printHelloWorld() {<br />
    println("hello, world")<br />
}</code></div></div>Üstteki fonksiyon ise:<br />
<br />
Bu fonksiyon hiç bir parametre almamaktadır ve void tipinde değer döndürmektedir. Fonksiyonlar yaptıkları işlem sonucunda bir değer üretmiyorlarsa, her zaman void değeri döndürürürler. Bu da boş bir tuple değerine () eşittir.<br />
<br />
 <span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #FF0000;" class="mycode_color">Fonksiyon Tiplerini Kullanma</span></span></span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>var mathFunction: (Int, Int) -&gt; Int = multiply</code></div></div><br />
Üstteki kod satırında <span style="font-style: italic;" class="mycode_i">mathFunction</span> adında bir değişken tanımlıyoruz. Daha sonra da <span style="font-style: italic;" class="mycode_i">multiply </span>isimli foknsiyonu işaret ediyoruz. Yani kaba tabirle söyleyecek olursak, bir fonksiyon tipini değişken olarak kullanıyoruz.Örnek üzerinden gidecek olursak: <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>println("Sonuç: (mathFunction(2, 3))")<br />
//Konsola "Sonuç: 6" yazdıracaktır.<br />
<br />
<br />
mathFunction = sum<br />
println("Sonuç: (mathFunction(2, 3))")<br />
//Konsola "Sonuç: 5" yazacaktır.</code></div></div><br />
Gördüğünüz gibi, en başta multiply işlemini tanımladığımız fonksiyon tipi değişkenine, daha sonra sum işlemini de tanımlayabiliyoruz. Bunu yaptıktan sonra konsolda çıkan sonuçta, önce çarpma daha sonra da toplama işlemi yapıldığını görebilirsiniz.<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #FF0000;" class="mycode_color">Fonksiyon Tiplerini Parametre Olarak Kullanma</span></span><br />
<br />
Fonksiyon tiplerini değişken olarak nasıl kullanabileceğimizi anladık. Bunun yanında fonksiyon tiplerini başka fonksiyonlar için parametre olarak kullanabiliriz. Biraz karışık bir cümle oldu, örneği incelediğinizde çok basit ve etkili bir işlem olduğunu anlayacaksınız. <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>func printMathResult(mathFunction: (Int, Int) -&gt; Int, a: Int, b: Int) {<br />
    println("Sonuç: (mathFunction(a, b))")<br />
}<br />
printMathResult(sum, 3, 5)<br />
// Konsola "Sonuç: 8” yazacaktır</code></div></div><br />
mathFunction isimli fonksiyon tipini parametre olarak kullandık ve ona sum fonksiyonunu gönderdik. Bu da bize 3 ile 5 i toplayıp sonucunu verdi.]]></description>
			<content:encoded><![CDATA[Her fonksiyon, parametre ve return değerlerinin tipleriyle belirlenen bir <span style="font-style: italic;" class="mycode_i">fonksiyon tipine</span> sahiptir.<br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>func sum(a: Int, b: Int) -&gt; Int {<br />
    return a + b<br />
}<br />
func multiply(a: Int, b: Int) -&gt; Int {<br />
    return a * b<br />
}</code></div></div><br />
Üstte yer alan sum ve multiply fonksiyonları 2’şer adet int tipinde parametre değeri almaktadır. Return değeri olarak ise yine int tipinde bir değer döndürmektedir.<br />
<br />
Bu iki fonksiyonda <span style="font-style: italic;" class="mycode_i">(Int, Int) -&gt; Int</span> tipindedir ve şu şekilde okunabilir:<br />
 Bu fonksiyon 2 adet int tipinde parametre sahibidir ve işlem sonucunda int tipinde bir return değerine sahiptir. <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>func printHelloWorld() {<br />
    println("hello, world")<br />
}</code></div></div>Üstteki fonksiyon ise:<br />
<br />
Bu fonksiyon hiç bir parametre almamaktadır ve void tipinde değer döndürmektedir. Fonksiyonlar yaptıkları işlem sonucunda bir değer üretmiyorlarsa, her zaman void değeri döndürürürler. Bu da boş bir tuple değerine () eşittir.<br />
<br />
 <span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #FF0000;" class="mycode_color">Fonksiyon Tiplerini Kullanma</span></span></span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>var mathFunction: (Int, Int) -&gt; Int = multiply</code></div></div><br />
Üstteki kod satırında <span style="font-style: italic;" class="mycode_i">mathFunction</span> adında bir değişken tanımlıyoruz. Daha sonra da <span style="font-style: italic;" class="mycode_i">multiply </span>isimli foknsiyonu işaret ediyoruz. Yani kaba tabirle söyleyecek olursak, bir fonksiyon tipini değişken olarak kullanıyoruz.Örnek üzerinden gidecek olursak: <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>println("Sonuç: (mathFunction(2, 3))")<br />
//Konsola "Sonuç: 6" yazdıracaktır.<br />
<br />
<br />
mathFunction = sum<br />
println("Sonuç: (mathFunction(2, 3))")<br />
//Konsola "Sonuç: 5" yazacaktır.</code></div></div><br />
Gördüğünüz gibi, en başta multiply işlemini tanımladığımız fonksiyon tipi değişkenine, daha sonra sum işlemini de tanımlayabiliyoruz. Bunu yaptıktan sonra konsolda çıkan sonuçta, önce çarpma daha sonra da toplama işlemi yapıldığını görebilirsiniz.<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #FF0000;" class="mycode_color">Fonksiyon Tiplerini Parametre Olarak Kullanma</span></span><br />
<br />
Fonksiyon tiplerini değişken olarak nasıl kullanabileceğimizi anladık. Bunun yanında fonksiyon tiplerini başka fonksiyonlar için parametre olarak kullanabiliriz. Biraz karışık bir cümle oldu, örneği incelediğinizde çok basit ve etkili bir işlem olduğunu anlayacaksınız. <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>func printMathResult(mathFunction: (Int, Int) -&gt; Int, a: Int, b: Int) {<br />
    println("Sonuç: (mathFunction(a, b))")<br />
}<br />
printMathResult(sum, 3, 5)<br />
// Konsola "Sonuç: 8” yazacaktır</code></div></div><br />
mathFunction isimli fonksiyon tipini parametre olarak kullandık ve ona sum fonksiyonunu gönderdik. Bu da bize 3 ile 5 i toplayıp sonucunu verdi.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Swift Fonksiyon Parametreleri ve Return Değerleri]]></title>
			<link>https://vnextr.com/konu-swift-fonksiyon-parametreleri-ve-return-degerleri--5339.html</link>
			<pubDate>Tue, 19 Nov 2019 05:20:57 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vnextr.com/member.php?action=profile&uid=28346">^Phoenix^</a>]]></dc:creator>
			<guid isPermaLink="false">https://vnextr.com/konu-swift-fonksiyon-parametreleri-ve-return-degerleri--5339.html</guid>
			<description><![CDATA[<span style="font-weight: bold;" class="mycode_b"><span style="color: #FF0000;" class="mycode_color">Parametre</span></span><br />
<br />
Fonksiyona input olarak giren ve içeride kullanılan değerlere parametre denir. Bir fonksiyonda hiç parametre olmayabilir, bir yada birde çok parametre de olabilir.<br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>func someFunc(Parameters) {<br />
    statements  <br />
}</code></div></div><br />
<br />
Parametreler, fonksiyonu çağırırken belirlenir. Fonksiyon her çağrıldığı zaman farklı parametreler göndererek aynı işlemin farklı değişkenler ile yapılması sağlanır.<br />
<br />
<span style="color: #FF0000;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">Parametre Alan Fonksiyonlar</span></span><br />
<br />
Aşağıdaki örnekte num1 ve num2 isminde iki değişkenimiz var ve fonksiyonumuz num1 ve num2  değerlerini birbirine ekleyerek toplama işlemi yapıyor ve sonuç değerini döndürüyor. Bizde dönen değeri println() fonksiyonun içerisine yazarak konsolda görünmesini sağlıyoruz.<br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>func addition(num1: Int, num2: Int) -&gt; Int {<br />
    return num1 + num2<br />
}<br />
<br />
println(addition(19, 15))<br />
<br />
//Ekrana 39 yazdıracaktır.</code></div></div><br />
<span style="color: #FF0000;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">Parametre Almayan Fonksiyonlar </span></span><br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>func addition() -&gt; Int {<br />
        return 19 + 15<br />
    }<br />
println(lengthCalculator())<br />
//105</code></div></div><br />
Burada da aynı işlemi yaptık <span style="font-weight: bold;" class="mycode_b">ancak </span> 19 ve 15 değerleri parametrik olmadığı için bu fonksiyon hep aynı sayıları toplayacaktır. O yüzden toplama işlemi yapmaktadır diyemeyiz. Sürekli 105 sonucunu döndürüyor çünkü.<br />
<br />
<span style="color: #FF0000;" class="mycode_color">Return Değerleri</span><br />
<br />
Bir fonksiyonun sonucunda elde edilen ve fonksiyonun çağrıldığı satıra geri döndürülen değere return değeri denir. Örneğin üstteki örnekte toplama işlemini yaptıkdan sonra <span style="font-style: italic;" class="mycode_i">return </span> diyerek yazdığımız değer…<br />
<br />
Her fonksiyonda return değeri olmayabilir. Bu tamamen fonksiyonun yapacağı iş ile alakalı.<br />
<br />
<span style="color: #FF0000;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">Return Değeri Almayan Fonksiyonlar</span></span><br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>func sayHello(personName: String) {<br />
    println("Merhaba, (personName)!")<br />
}<br />
sayGoodbye("Dragons War")<br />
//Ekran Çıktısı : Merhaba, Dragons War</code></div></div><br />
Üstteki kodda return değeri almayan bir fonksiyon görüyorsunuz. Fonksiyonu çağırdığımızda, println fonksiyonu ile ismimizi konsola yazdırıyor.<br />
<br />
<span style="color: #FF0000;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">Return Değeri Alan Fonksiyonlar</span></span><br />
<br />
return değeri olan fonksiyonlarda, return olacak değeri belirleyen bir (-&gt;<img src="https://vnextr.com/images/icons/new/gozkirp.png" alt="Göz Kırp" title="Göz Kırp" class="smilie smilie_2" /> işareti bulunur. Eğer bu int ise fonksiyon int değerini döner, String ise fonksiyon String değerini döner demektir.<br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>.<br />
.<br />
func funcName() -&gt; Int {<br />
     statements   <br />
     return int value<br />
    }<br />
.<br />
.</code></div></div> <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>func addition(num1: Int, num2: Int) -&gt; Int {<br />
    return num1 + num2<br />
}</code></div></div>]]></description>
			<content:encoded><![CDATA[<span style="font-weight: bold;" class="mycode_b"><span style="color: #FF0000;" class="mycode_color">Parametre</span></span><br />
<br />
Fonksiyona input olarak giren ve içeride kullanılan değerlere parametre denir. Bir fonksiyonda hiç parametre olmayabilir, bir yada birde çok parametre de olabilir.<br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>func someFunc(Parameters) {<br />
    statements  <br />
}</code></div></div><br />
<br />
Parametreler, fonksiyonu çağırırken belirlenir. Fonksiyon her çağrıldığı zaman farklı parametreler göndererek aynı işlemin farklı değişkenler ile yapılması sağlanır.<br />
<br />
<span style="color: #FF0000;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">Parametre Alan Fonksiyonlar</span></span><br />
<br />
Aşağıdaki örnekte num1 ve num2 isminde iki değişkenimiz var ve fonksiyonumuz num1 ve num2  değerlerini birbirine ekleyerek toplama işlemi yapıyor ve sonuç değerini döndürüyor. Bizde dönen değeri println() fonksiyonun içerisine yazarak konsolda görünmesini sağlıyoruz.<br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>func addition(num1: Int, num2: Int) -&gt; Int {<br />
    return num1 + num2<br />
}<br />
<br />
println(addition(19, 15))<br />
<br />
//Ekrana 39 yazdıracaktır.</code></div></div><br />
<span style="color: #FF0000;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">Parametre Almayan Fonksiyonlar </span></span><br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>func addition() -&gt; Int {<br />
        return 19 + 15<br />
    }<br />
println(lengthCalculator())<br />
//105</code></div></div><br />
Burada da aynı işlemi yaptık <span style="font-weight: bold;" class="mycode_b">ancak </span> 19 ve 15 değerleri parametrik olmadığı için bu fonksiyon hep aynı sayıları toplayacaktır. O yüzden toplama işlemi yapmaktadır diyemeyiz. Sürekli 105 sonucunu döndürüyor çünkü.<br />
<br />
<span style="color: #FF0000;" class="mycode_color">Return Değerleri</span><br />
<br />
Bir fonksiyonun sonucunda elde edilen ve fonksiyonun çağrıldığı satıra geri döndürülen değere return değeri denir. Örneğin üstteki örnekte toplama işlemini yaptıkdan sonra <span style="font-style: italic;" class="mycode_i">return </span> diyerek yazdığımız değer…<br />
<br />
Her fonksiyonda return değeri olmayabilir. Bu tamamen fonksiyonun yapacağı iş ile alakalı.<br />
<br />
<span style="color: #FF0000;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">Return Değeri Almayan Fonksiyonlar</span></span><br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>func sayHello(personName: String) {<br />
    println("Merhaba, (personName)!")<br />
}<br />
sayGoodbye("Dragons War")<br />
//Ekran Çıktısı : Merhaba, Dragons War</code></div></div><br />
Üstteki kodda return değeri almayan bir fonksiyon görüyorsunuz. Fonksiyonu çağırdığımızda, println fonksiyonu ile ismimizi konsola yazdırıyor.<br />
<br />
<span style="color: #FF0000;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">Return Değeri Alan Fonksiyonlar</span></span><br />
<br />
return değeri olan fonksiyonlarda, return olacak değeri belirleyen bir (-&gt;<img src="https://vnextr.com/images/icons/new/gozkirp.png" alt="Göz Kırp" title="Göz Kırp" class="smilie smilie_2" /> işareti bulunur. Eğer bu int ise fonksiyon int değerini döner, String ise fonksiyon String değerini döner demektir.<br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>.<br />
.<br />
func funcName() -&gt; Int {<br />
     statements   <br />
     return int value<br />
    }<br />
.<br />
.</code></div></div> <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>func addition(num1: Int, num2: Int) -&gt; Int {<br />
    return num1 + num2<br />
}</code></div></div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Swift Fonksiyonları Tanımlama ve Çağırma]]></title>
			<link>https://vnextr.com/konu-swift-fonksiyonlari-tanimlama-ve-cagirma--5242.html</link>
			<pubDate>Sat, 02 Nov 2019 16:31:28 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vnextr.com/member.php?action=profile&uid=28346">^Phoenix^</a>]]></dc:creator>
			<guid isPermaLink="false">https://vnextr.com/konu-swift-fonksiyonlari-tanimlama-ve-cagirma--5242.html</guid>
			<description><![CDATA[<span style="color: #008000;" class="mycode_color"><span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Fonksiyon</span></span></span><br />
<br />
Fonksiyonlar, belirli bir işlemi yapmak için yazılmış ve ihtiyaç duyulduğunda çağrılarak tekrar tekrar kullanılabilen kod bloklarına verilen isimdir. Nesne yönelimli programla mantığında çok önemli bir yeri olan fonksiyonlar, bizi aynı kodu tekrar tekrar yazmaktan ve zaman maliyetinden kurtarır. Bunun yanında, fonksiyonda bir yeri değiştirmek istediğimiz zaman, gidip kod içerisinde tek tek tüm satırları değiştirmek yerine sadece fonksiyonu değiştirmemiz yeterli olacaktır.<br />
<br />
Her fonksiyonda belirli inputlar ve outputlar olabilir. Bu inputlar değişken olarak adlandırılır ve fonksiyonun yapacağı işleme göre değişkenlik gösterirler, outpularda aynı şekilde değişkenlik gösterebilir. Bir fonksiyonda illa bir input yada output olacak diye bir zorunluluk yoktur. Fonksiyon içerisinde output üretmeyen bir kod bloğunu da çalıştırabilir.<br />
<br />
<span style="color: #008000;" class="mycode_color"><span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Fonksiyonların Kullanımı </span></span></span><br />
<br />
Fonksiyonları kullanabilmek için öncelikle tanımlamamız ve ardından onları çağırmamız gerekmektedir.<br />
<span style="font-weight: bold;" class="mycode_b">Fonksiyonları tanımlama</span>, fonksiyon bloğunu sınıfımıza eklemek anlamına gelmektedir. <br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>func sayHello(personName: String) -&gt; String {<br />
    let greeting = "Hello, " + personName + "!"<br />
    return greeting<br />
}</code></div></div><br />
Üstteki kod bloğunda bir fonksiyon tanımı görmektesiniz. Bu kodu yazdıktan sonra sizden String tipinde bir  personName değişkeni alan ve verdiğiniz ismi selamlayan bu fonksiyonu kullanabilirsiniz. <span style="font-style: italic;" class="mycode_i"><span style="font-weight: bold;" class="mycode_b">Ancak, bu fonksiyonu çağırmazsanız hiç bir zaman çalışmayacaktır.</span></span><br />
<br />
Fonksiyonların içerisindeki kodların çalışması için, fonksiyonları çağırmanız gerekmektedir.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Fonksiyonları çağırma</span> ise, fonksiyonun ismini ve varsa parametrelerini(input) kullanacağımız yerde belirtmemizdir. Örneğin ben sayHello metodunu kendim için cağıracağım.<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>.<br />
.<br />
.<br />
.<br />
println(sayHello("Dragons War"))<br />
.<br />
.<br />
.<br />
.<br />
//fonksiyonun çağrıldığı satır çalıştırıldığı zaman<br />
//ekrana "Hello, Dragons War!" yazacaktır.</code></div></div><br />
Fonksiyonların avantajını anlamak için üsteki örneği inceleyelim. Bu örnekte ismini yazan kişiyi selamlayan bir mesaj yayınlıyoruz. <span style="font-weight: bold;" class="mycode_b">Peki ya fonksiyon kullanmasaydık ?</span><br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>println(sayHello("Ömer"))<br />
println(sayHello("Ali"))<br />
println(sayHello("Emin"))<br />
println(sayHello("Hakan"))<br />
<br />
//Hello, Ömer!<br />
//Hello, Ali!<br />
//Hello, Emin!<br />
//Hello, Hakan!</code></div></div><br />
Üstteki kod bloğunda 4 kişiyi selamladık, bir de bunu fonksiyon kullanmadan yapalım.<br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>let greeting = "Hello, Ömer!"<br />
println(greeting)<br />
<br />
let greeting = "Hello, Ali!"<br />
println(greeting)<br />
<br />
let greeting = "Hello, Emin!"<br />
println(greeting)<br />
<br />
let greeting = "Hello, Hakan!"<br />
println(greeting)<br />
<br />
//Hello, Ömer!<br />
//Hello, Ali!<br />
//Hello, Emin!<br />
//Hello, Hakan!</code></div></div><br />
Fonksiyon kullanarak 4 satırda yaptığımız işlemi, fonksiyon kullanmadan 8 satırda yaptık. Büyük projelerde bu uçurum binlerde satıra çıkmaktadır.<br />
Fonksiyonda “Hello” yazan yeri “Hi” yapmak istersek 1 satır kod, fonksiyon kullanmadan “Hello” yazan yeri “Hi” yapmak istersek 4 satır kod değiştireceğiz.]]></description>
			<content:encoded><![CDATA[<span style="color: #008000;" class="mycode_color"><span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Fonksiyon</span></span></span><br />
<br />
Fonksiyonlar, belirli bir işlemi yapmak için yazılmış ve ihtiyaç duyulduğunda çağrılarak tekrar tekrar kullanılabilen kod bloklarına verilen isimdir. Nesne yönelimli programla mantığında çok önemli bir yeri olan fonksiyonlar, bizi aynı kodu tekrar tekrar yazmaktan ve zaman maliyetinden kurtarır. Bunun yanında, fonksiyonda bir yeri değiştirmek istediğimiz zaman, gidip kod içerisinde tek tek tüm satırları değiştirmek yerine sadece fonksiyonu değiştirmemiz yeterli olacaktır.<br />
<br />
Her fonksiyonda belirli inputlar ve outputlar olabilir. Bu inputlar değişken olarak adlandırılır ve fonksiyonun yapacağı işleme göre değişkenlik gösterirler, outpularda aynı şekilde değişkenlik gösterebilir. Bir fonksiyonda illa bir input yada output olacak diye bir zorunluluk yoktur. Fonksiyon içerisinde output üretmeyen bir kod bloğunu da çalıştırabilir.<br />
<br />
<span style="color: #008000;" class="mycode_color"><span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Fonksiyonların Kullanımı </span></span></span><br />
<br />
Fonksiyonları kullanabilmek için öncelikle tanımlamamız ve ardından onları çağırmamız gerekmektedir.<br />
<span style="font-weight: bold;" class="mycode_b">Fonksiyonları tanımlama</span>, fonksiyon bloğunu sınıfımıza eklemek anlamına gelmektedir. <br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>func sayHello(personName: String) -&gt; String {<br />
    let greeting = "Hello, " + personName + "!"<br />
    return greeting<br />
}</code></div></div><br />
Üstteki kod bloğunda bir fonksiyon tanımı görmektesiniz. Bu kodu yazdıktan sonra sizden String tipinde bir  personName değişkeni alan ve verdiğiniz ismi selamlayan bu fonksiyonu kullanabilirsiniz. <span style="font-style: italic;" class="mycode_i"><span style="font-weight: bold;" class="mycode_b">Ancak, bu fonksiyonu çağırmazsanız hiç bir zaman çalışmayacaktır.</span></span><br />
<br />
Fonksiyonların içerisindeki kodların çalışması için, fonksiyonları çağırmanız gerekmektedir.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Fonksiyonları çağırma</span> ise, fonksiyonun ismini ve varsa parametrelerini(input) kullanacağımız yerde belirtmemizdir. Örneğin ben sayHello metodunu kendim için cağıracağım.<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>.<br />
.<br />
.<br />
.<br />
println(sayHello("Dragons War"))<br />
.<br />
.<br />
.<br />
.<br />
//fonksiyonun çağrıldığı satır çalıştırıldığı zaman<br />
//ekrana "Hello, Dragons War!" yazacaktır.</code></div></div><br />
Fonksiyonların avantajını anlamak için üsteki örneği inceleyelim. Bu örnekte ismini yazan kişiyi selamlayan bir mesaj yayınlıyoruz. <span style="font-weight: bold;" class="mycode_b">Peki ya fonksiyon kullanmasaydık ?</span><br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>println(sayHello("Ömer"))<br />
println(sayHello("Ali"))<br />
println(sayHello("Emin"))<br />
println(sayHello("Hakan"))<br />
<br />
//Hello, Ömer!<br />
//Hello, Ali!<br />
//Hello, Emin!<br />
//Hello, Hakan!</code></div></div><br />
Üstteki kod bloğunda 4 kişiyi selamladık, bir de bunu fonksiyon kullanmadan yapalım.<br />
 <br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>let greeting = "Hello, Ömer!"<br />
println(greeting)<br />
<br />
let greeting = "Hello, Ali!"<br />
println(greeting)<br />
<br />
let greeting = "Hello, Emin!"<br />
println(greeting)<br />
<br />
let greeting = "Hello, Hakan!"<br />
println(greeting)<br />
<br />
//Hello, Ömer!<br />
//Hello, Ali!<br />
//Hello, Emin!<br />
//Hello, Hakan!</code></div></div><br />
Fonksiyon kullanarak 4 satırda yaptığımız işlemi, fonksiyon kullanmadan 8 satırda yaptık. Büyük projelerde bu uçurum binlerde satıra çıkmaktadır.<br />
Fonksiyonda “Hello” yazan yeri “Hi” yapmak istersek 1 satır kod, fonksiyon kullanmadan “Hello” yazan yeri “Hi” yapmak istersek 4 satır kod değiştireceğiz.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Swift Kontrol Transfer İfadeleri ve Örnekler]]></title>
			<link>https://vnextr.com/konu-swift-kontrol-transfer-ifadeleri-ve-ornekler--5178.html</link>
			<pubDate>Tue, 29 Oct 2019 16:14:02 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vnextr.com/member.php?action=profile&uid=28346">^Phoenix^</a>]]></dc:creator>
			<guid isPermaLink="false">https://vnextr.com/konu-swift-kontrol-transfer-ifadeleri-ve-ornekler--5178.html</guid>
			<description><![CDATA[İngilizcesi<span style="font-style: italic;" class="mycode_i"> Control Transfer Statements<span style="font-weight: bold;" class="mycode_b"> </span></span>olan Kontrol Transfer İfadeleri, kod içerisinde kontrol noktalarını bir noktadan diğer bir noktaya transferini kontrol etmek için kullanılan yapılardır.<br />
<br />
Swift programlama dilinde ise 4 adet Kontrol Transfer İfadesi bulunmaktadır:<ul class="mycode_list"><li>continue<br />
</li>
<li>break<br />
</li>
<li>fallthrough<br />
</li>
<li>return<br />
</li>
</ul>
<br />
<span style="color: #008000;" class="mycode_color">Continue</span><br />
<br />
continue ifadesi, kod içerisinde yazıldığı yerde döngüyü durdurup, iterasyonu yeniden başlatır.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Örnek :</span> Bir cümle içerisindeki tüm sesli harfleri ve boşlukları çıkarıp, sessiz harfleri birleştiren program.<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>let input = "dragonswar webyazılımcı"<br />
        var output = ""<br />
        for character in input {<br />
            switch character {<br />
            case "u", "a", "e", "ö", "i", "o", "ı", " ":<br />
                continue<br />
            default:<br />
                output.append(character)<br />
            }<br />
        }<br />
        println(output)<br />
// konsola drgnswrwbyzlmc yazacktır.</code></div></div> <br />
<span style="color: #008000;" class="mycode_color">Break</span><br />
<br />
break ifadesi, kod içerisinde yazıldığı yerde döngüyü durdurur ve döngüden çıkar. Ondan sonra gelen kod blokları çalıştırılmaz.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Örnek :</span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>let number = 5 ;<br />
        <br />
        switch number{<br />
        case 1:<br />
            println("Numara : 1")<br />
        <br />
        case 2:<br />
            println("Numara : 2")<br />
            <br />
        <br />
        case 3:<br />
            println("Numara : 3")<br />
        default:<br />
            break<br />
            println("Numara : 4")<br />
        }<br />
<br />
//<br />
//Konsolda hiç bir şey yazmaz, case 1, 2, 3 doğru değil, default<br />
//içine girdiğinde ise break den sonra gelen kod çalıştırılmıyor.</code></div></div><br />
<span style="color: #008000;" class="mycode_color">Fallthrough</span><br />
<br />
fallthrough ifadesi, switch yapısında yazıldığı yerdeki case’den sonraki case’in de çalışmasını sağlar.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Örnek :</span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>let integerToDescribe = 5<br />
        var description = "5 sayısı (integerToDescribe) "<br />
        switch integerToDescribe {<br />
        case 2, 3, 5, 7, 11, 13, 17, 19:<br />
            description += " bir numaradır, ve ayrıca"<br />
            fallthrough<br />
        default:<br />
        <br />
            description += " bir integerdir."<br />
        }<br />
        println(description)<br />
<br />
//5 sayısı 5  bir numaradır, ve ayrıca bir integerdir.</code></div></div>Farkettiğiniz üzere hem case hem de default case’i çalıştı.<br />
<br />
<span style="color: #008000;" class="mycode_color">Return</span><br />
<br />
return ifadesi fonksiyonlardan geri değer döndürmek için kullanılmaktadır.]]></description>
			<content:encoded><![CDATA[İngilizcesi<span style="font-style: italic;" class="mycode_i"> Control Transfer Statements<span style="font-weight: bold;" class="mycode_b"> </span></span>olan Kontrol Transfer İfadeleri, kod içerisinde kontrol noktalarını bir noktadan diğer bir noktaya transferini kontrol etmek için kullanılan yapılardır.<br />
<br />
Swift programlama dilinde ise 4 adet Kontrol Transfer İfadesi bulunmaktadır:<ul class="mycode_list"><li>continue<br />
</li>
<li>break<br />
</li>
<li>fallthrough<br />
</li>
<li>return<br />
</li>
</ul>
<br />
<span style="color: #008000;" class="mycode_color">Continue</span><br />
<br />
continue ifadesi, kod içerisinde yazıldığı yerde döngüyü durdurup, iterasyonu yeniden başlatır.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Örnek :</span> Bir cümle içerisindeki tüm sesli harfleri ve boşlukları çıkarıp, sessiz harfleri birleştiren program.<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>let input = "dragonswar webyazılımcı"<br />
        var output = ""<br />
        for character in input {<br />
            switch character {<br />
            case "u", "a", "e", "ö", "i", "o", "ı", " ":<br />
                continue<br />
            default:<br />
                output.append(character)<br />
            }<br />
        }<br />
        println(output)<br />
// konsola drgnswrwbyzlmc yazacktır.</code></div></div> <br />
<span style="color: #008000;" class="mycode_color">Break</span><br />
<br />
break ifadesi, kod içerisinde yazıldığı yerde döngüyü durdurur ve döngüden çıkar. Ondan sonra gelen kod blokları çalıştırılmaz.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Örnek :</span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>let number = 5 ;<br />
        <br />
        switch number{<br />
        case 1:<br />
            println("Numara : 1")<br />
        <br />
        case 2:<br />
            println("Numara : 2")<br />
            <br />
        <br />
        case 3:<br />
            println("Numara : 3")<br />
        default:<br />
            break<br />
            println("Numara : 4")<br />
        }<br />
<br />
//<br />
//Konsolda hiç bir şey yazmaz, case 1, 2, 3 doğru değil, default<br />
//içine girdiğinde ise break den sonra gelen kod çalıştırılmıyor.</code></div></div><br />
<span style="color: #008000;" class="mycode_color">Fallthrough</span><br />
<br />
fallthrough ifadesi, switch yapısında yazıldığı yerdeki case’den sonraki case’in de çalışmasını sağlar.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Örnek :</span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>let integerToDescribe = 5<br />
        var description = "5 sayısı (integerToDescribe) "<br />
        switch integerToDescribe {<br />
        case 2, 3, 5, 7, 11, 13, 17, 19:<br />
            description += " bir numaradır, ve ayrıca"<br />
            fallthrough<br />
        default:<br />
        <br />
            description += " bir integerdir."<br />
        }<br />
        println(description)<br />
<br />
//5 sayısı 5  bir numaradır, ve ayrıca bir integerdir.</code></div></div>Farkettiğiniz üzere hem case hem de default case’i çalıştı.<br />
<br />
<span style="color: #008000;" class="mycode_color">Return</span><br />
<br />
return ifadesi fonksiyonlardan geri değer döndürmek için kullanılmaktadır.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Swift Switch Yapısı ve Örnekli Anlatım]]></title>
			<link>https://vnextr.com/konu-swift-switch-yapisi-ve-ornekli-anlatim--5174.html</link>
			<pubDate>Mon, 28 Oct 2019 15:34:56 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vnextr.com/member.php?action=profile&uid=28346">^Phoenix^</a>]]></dc:creator>
			<guid isPermaLink="false">https://vnextr.com/konu-swift-switch-yapisi-ve-ornekli-anlatim--5174.html</guid>
			<description><![CDATA[<span style="color: #008000;" class="mycode_color">Switch Yapısı</span><br />
<br />
Switch yapısı, bir değeri alarak belirlenen koşullar ile kıyaslar ve uygun olan koşulun sahip olduğu kod bloğunu çalıştırır. if yapısına benzerdir ve özellikle kıyaslanacak durumlar net ise if’e göre daha kullanışlıdır.<br />
Kısaca özetleyecek olursak, bir tipte bir değişkeni alır ve diğerleriyle kıyaslar.<br />
<br />
Switch case’in genel yapısı şu şekildedir:<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>switch karşılaştırılacak değer {<br />
case koşul 1:<br />
    1. koşula uygun olma durumundaki cevap<br />
case koşul 2,<br />
value 3:<br />
    2. yada 3. koşula uygun olma durumundaki cevap<br />
default:<br />
    hiç bir koşula uygun olmaz ise dönecek olan cevap<br />
}</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b">Örnek 1: Sesli ve sessiz harf ayırıcı program</span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>let harf: Character = "e"<br />
switch harf {<br />
case "a", "e", "i", "o", "u":<br />
    println("(harf) sesli bir harftir")<br />
case "b", "c", "d", "f", "g", "h", "j", "k", "l", "m",<br />
"n", "p", "q", "r", "s", "t", "v", "w", "x", "y", "z":<br />
    println("(harf) sesli bir harf değildir")<br />
default:<br />
    println("(harf) sesli veye sessiz bir harf değil")<br />
}<br />
<br />
//"e sesli bir harftir"</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b">Örnek 2: Büyük – Küçük harf ayırıcı program</span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>let harf: Character = "a"<br />
switch harf {<br />
case "a":<br />
    println("Harf : a")<br />
case "A":<br />
    println("Harf : A")<br />
default:<br />
    println("harf A değil")<br />
}<br />
<br />
//Harf : a</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b">Örnek 3: Harf notu hesaplayıcı program  </span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>var examResult = 89<br />
        <br />
        switch examResult{<br />
        case 0...30:<br />
            println("Harf Notunuz F")<br />
        case 31...50:<br />
            println("Harf Notunuz D")<br />
        case 51...75:<br />
            println("Harf Notunuz C")<br />
        case 76...90:<br />
            println("Harf Notunuz B")<br />
        case 91...100:<br />
            println("Harf Notunuz A")<br />
        default:<br />
            println("Harf notunuz geçerli değil !")<br />
        }<br />
<br />
//Harf Notunuz B</code></div></div><br />
 <span style="color: #008000;" class="mycode_color">Tuples</span><br />
<br />
Tuples birleştirilmiş iki değer anlamına gelir. <span style="font-style: italic;" class="mycode_i">(int x, int y) gibi…</span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">Örnek 1: x-y koordinat düzleminde nokta yerini saptama</span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>let point = (1, 1)<br />
        switch point {<br />
        case (0, 0):<br />
            println("(0, 0) noktası orjin noktasındadır.")<br />
        case (_, 0):<br />
            println("((point.0), 0) noktası x ekseni üzerindedir.")<br />
        case (0, _):<br />
            println("(0, (point.1)) noktası y ekseni üzerindedir.")<br />
        case (-2...2, -2...2):<br />
            println("((point.0), (point.1)) noktası, belirlenen alan içerisindedir")<br />
        default:<br />
            println("((point.0), (point.1)) noktası, belirlenen alan dışındadır.")<br />
        }<br />
        <br />
<br />
//(1, 1) noktası, belirlenen alan içerisindedir</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b">Örnek 2: x-y koordinat düzleminde nokta yerini saptama</span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>let point = (99, 0)<br />
        switch point {<br />
        case (0, 0):<br />
            println("(0, 0) noktası orjin noktasındadır.")<br />
        case (_, 0):<br />
            println("((point.0), 0) noktası x ekseni üzerindedir.")<br />
        case (0, _):<br />
            println("(0, (point.1)) noktası y ekseni üzerindedir.")<br />
        case (-2...2, -2...2):<br />
            println("((point.0), (point.1)) noktası, belirlenen alan içerisindedir")<br />
        default:<br />
            println("((point.0), (point.1)) noktası, belirlenen alan dışındadır.")<br />
        }<br />
        <br />
<br />
//(99, 0) noktası x ekseni üzerindedir.</code></div></div> <br />
<span style="color: #008000;" class="mycode_color">Value Binding</span><br />
<br />
Tuple olarak verilen değer çiftinden bir tanesinin değerine bakılarak kontrol edilir. Tuple çiftinin diğer değeri ise değişken olarak verilir. Bu değişkende kontrol edilecek olan tuple çiftinden gelen değer olacaktır.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Örnek:</span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>let anotherPoint = (2, 0)<br />
switch anotherPoint {<br />
case (let x, 0):<br />
    println("x ekseni üzerindedir ve x in değeri :(x)")<br />
case (0, let y):<br />
    println("y ekseni üzerindedir ve y nin değeri :(y)")<br />
case let (x, y):<br />
    println("başka bir noktadadır: ((x), (y))")<br />
}<br />
<br />
//x ekseni üzerindedir ve x in değeri :2</code></div></div><br />
 <span style="color: #008000;" class="mycode_color">Where</span><br />
<br />
Switch yapısının sorgu eklenmiş halidir. Case’lerin durumu sorgunun sonucuna göre belirlenir.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Örnek:</span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>let anotherPoint = (1, -1)<br />
switch anotherPoint {<br />
case let (x, y) where x == y:<br />
    println("((x), (y)) noktası x == y doğrusu üzerindedir")<br />
case let (x, y) where x == -y:<br />
    println("((x), (y)) noktası x == -y doğrusu üzerindedir")<br />
case let (x, y):<br />
    println("((x), (y)) noktası herhangi bir yerdedir")<br />
}<br />
<br />
//(1, -1) noktası x == -y doğrusu üzerindedir</code></div></div>]]></description>
			<content:encoded><![CDATA[<span style="color: #008000;" class="mycode_color">Switch Yapısı</span><br />
<br />
Switch yapısı, bir değeri alarak belirlenen koşullar ile kıyaslar ve uygun olan koşulun sahip olduğu kod bloğunu çalıştırır. if yapısına benzerdir ve özellikle kıyaslanacak durumlar net ise if’e göre daha kullanışlıdır.<br />
Kısaca özetleyecek olursak, bir tipte bir değişkeni alır ve diğerleriyle kıyaslar.<br />
<br />
Switch case’in genel yapısı şu şekildedir:<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>switch karşılaştırılacak değer {<br />
case koşul 1:<br />
    1. koşula uygun olma durumundaki cevap<br />
case koşul 2,<br />
value 3:<br />
    2. yada 3. koşula uygun olma durumundaki cevap<br />
default:<br />
    hiç bir koşula uygun olmaz ise dönecek olan cevap<br />
}</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b">Örnek 1: Sesli ve sessiz harf ayırıcı program</span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>let harf: Character = "e"<br />
switch harf {<br />
case "a", "e", "i", "o", "u":<br />
    println("(harf) sesli bir harftir")<br />
case "b", "c", "d", "f", "g", "h", "j", "k", "l", "m",<br />
"n", "p", "q", "r", "s", "t", "v", "w", "x", "y", "z":<br />
    println("(harf) sesli bir harf değildir")<br />
default:<br />
    println("(harf) sesli veye sessiz bir harf değil")<br />
}<br />
<br />
//"e sesli bir harftir"</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b">Örnek 2: Büyük – Küçük harf ayırıcı program</span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>let harf: Character = "a"<br />
switch harf {<br />
case "a":<br />
    println("Harf : a")<br />
case "A":<br />
    println("Harf : A")<br />
default:<br />
    println("harf A değil")<br />
}<br />
<br />
//Harf : a</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b">Örnek 3: Harf notu hesaplayıcı program  </span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>var examResult = 89<br />
        <br />
        switch examResult{<br />
        case 0...30:<br />
            println("Harf Notunuz F")<br />
        case 31...50:<br />
            println("Harf Notunuz D")<br />
        case 51...75:<br />
            println("Harf Notunuz C")<br />
        case 76...90:<br />
            println("Harf Notunuz B")<br />
        case 91...100:<br />
            println("Harf Notunuz A")<br />
        default:<br />
            println("Harf notunuz geçerli değil !")<br />
        }<br />
<br />
//Harf Notunuz B</code></div></div><br />
 <span style="color: #008000;" class="mycode_color">Tuples</span><br />
<br />
Tuples birleştirilmiş iki değer anlamına gelir. <span style="font-style: italic;" class="mycode_i">(int x, int y) gibi…</span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">Örnek 1: x-y koordinat düzleminde nokta yerini saptama</span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>let point = (1, 1)<br />
        switch point {<br />
        case (0, 0):<br />
            println("(0, 0) noktası orjin noktasındadır.")<br />
        case (_, 0):<br />
            println("((point.0), 0) noktası x ekseni üzerindedir.")<br />
        case (0, _):<br />
            println("(0, (point.1)) noktası y ekseni üzerindedir.")<br />
        case (-2...2, -2...2):<br />
            println("((point.0), (point.1)) noktası, belirlenen alan içerisindedir")<br />
        default:<br />
            println("((point.0), (point.1)) noktası, belirlenen alan dışındadır.")<br />
        }<br />
        <br />
<br />
//(1, 1) noktası, belirlenen alan içerisindedir</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b">Örnek 2: x-y koordinat düzleminde nokta yerini saptama</span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>let point = (99, 0)<br />
        switch point {<br />
        case (0, 0):<br />
            println("(0, 0) noktası orjin noktasındadır.")<br />
        case (_, 0):<br />
            println("((point.0), 0) noktası x ekseni üzerindedir.")<br />
        case (0, _):<br />
            println("(0, (point.1)) noktası y ekseni üzerindedir.")<br />
        case (-2...2, -2...2):<br />
            println("((point.0), (point.1)) noktası, belirlenen alan içerisindedir")<br />
        default:<br />
            println("((point.0), (point.1)) noktası, belirlenen alan dışındadır.")<br />
        }<br />
        <br />
<br />
//(99, 0) noktası x ekseni üzerindedir.</code></div></div> <br />
<span style="color: #008000;" class="mycode_color">Value Binding</span><br />
<br />
Tuple olarak verilen değer çiftinden bir tanesinin değerine bakılarak kontrol edilir. Tuple çiftinin diğer değeri ise değişken olarak verilir. Bu değişkende kontrol edilecek olan tuple çiftinden gelen değer olacaktır.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Örnek:</span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>let anotherPoint = (2, 0)<br />
switch anotherPoint {<br />
case (let x, 0):<br />
    println("x ekseni üzerindedir ve x in değeri :(x)")<br />
case (0, let y):<br />
    println("y ekseni üzerindedir ve y nin değeri :(y)")<br />
case let (x, y):<br />
    println("başka bir noktadadır: ((x), (y))")<br />
}<br />
<br />
//x ekseni üzerindedir ve x in değeri :2</code></div></div><br />
 <span style="color: #008000;" class="mycode_color">Where</span><br />
<br />
Switch yapısının sorgu eklenmiş halidir. Case’lerin durumu sorgunun sonucuna göre belirlenir.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Örnek:</span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>let anotherPoint = (1, -1)<br />
switch anotherPoint {<br />
case let (x, y) where x == y:<br />
    println("((x), (y)) noktası x == y doğrusu üzerindedir")<br />
case let (x, y) where x == -y:<br />
    println("((x), (y)) noktası x == -y doğrusu üzerindedir")<br />
case let (x, y):<br />
    println("((x), (y)) noktası herhangi bir yerdedir")<br />
}<br />
<br />
//(1, -1) noktası x == -y doğrusu üzerindedir</code></div></div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Swift if Yapısı ve Örnekli Anlatım]]></title>
			<link>https://vnextr.com/konu-swift-if-yapisi-ve-ornekli-anlatim--5172.html</link>
			<pubDate>Mon, 28 Oct 2019 15:28:14 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vnextr.com/member.php?action=profile&uid=28346">^Phoenix^</a>]]></dc:creator>
			<guid isPermaLink="false">https://vnextr.com/konu-swift-if-yapisi-ve-ornekli-anlatim--5172.html</guid>
			<description><![CDATA[<span style="color: #008000;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">if Yapısı</span></span><br />
if yapısı, programlama dillerinde belirtilen bir koşulun doğruluğunu kontrol etmek için kullanılır. Belirtilen koşul sağlanıyor ise if yapısı <span style="font-style: italic;" class="mycode_i">true</span> değerini döner ve if bloğu çalıştırılır, eğer belirtilen koşul sağlanmıyor ise de if yapısı <span style="font-style: italic;" class="mycode_i">false</span> değerini döner ve if bloğu çalıştırılmaz.<br />
<br />
Bunun yanında if yapısının<span style="font-style: italic;" class="mycode_i"> if-else</span>, <span style="font-style: italic;" class="mycode_i">if-else if</span>, <span style="font-style: italic;" class="mycode_i">if-else if-else</span> gibi kullanımları vardır.<br />
Kafa karışıklığı oluşmaması için, belirtilen durumları örnekler üzerinden anlatalım. Bunu için önce if yapısının genel formunu öğrenmemiz gerekiyor.<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>if condition {<br />
   statements<br />
}</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b">Örnek :</span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>var age = 15<br />
        <br />
        if age &gt; 18 {<br />
            println("Yaşınız (age)'dir ve 18 yaşından büyük olduğunuz için ehliyet alabilirsiniz.")<br />
        }<br />
            println("Yaşınız (age)'dir ve 18 yaşından küçük olduğunuz için ehliyet alamazsınız.")<br />
<br />
<br />
//Yaşınız 15'dir ve 18 yaşından küçük olduğunuz için ehliyet alamazsınız.<br />
<br />
//Bu döngüde koşulun doğru olup olmadığını kontrol ettik. <br />
//Koşul yanlış olduğu için döngünün içi hiç bir zaman çalıştırılmayacak.</code></div></div><br />
<span style="color: #008000;" class="mycode_color">if – else Yapısı</span><br />
<br />
if-else yapısında, öncelikle verilen koşul’a bakılır, koşul doğru ise if bloğu çalıştırılır, else bloğu çalıştırılmaz. Eğer yanlış ise if bloğu çalıştırılmaz, else bloğu çalıştırılır.if-else koşulunun genel yapısı şu şekildedir:<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>if condition {<br />
    statements<br />
}<br />
else {<br />
    statements<br />
}</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b">Örnek1 :</span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>var examResult = 92<br />
        <br />
        if examResult &gt;= 85 {<br />
            println("Sınav sonucunuz gayet çok güzel, tebrikler.")<br />
        }<br />
        else {<br />
            println("Daha fazla çalışmanız gerekiyor.")<br />
        }<br />
<br />
//Sınav sonucunuz gayet çok güzel, tebrikler.</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b">Örnek 2 :</span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>var examResult = 65<br />
        <br />
        if examResult &gt;= 85 {<br />
            println("Sınav sonucunuz gayet çok güzel, tebrikler.")<br />
        }<br />
        else {<br />
            println("Daha fazla çalışmanız gerekiyor.")<br />
        }<br />
<br />
//Daha fazla çalışmanız gerekiyor.</code></div></div><br />
 <span style="color: #008000;" class="mycode_color">if – else if Yapısı</span><br />
if – else if yapısını peşpeşe ve birbirine bağımlı if blokları olarak düşünebiliriz.Önce 1. sıradaki if yapısı kontrol edilir, doğru ise if bloğu çalıştırılır ve sonraki if-else bloklarının hiç birine bakılmaksınız çıkılır.<br />
<br />
Eğer 1. if bloğu yanlış ise blok çalıştırılmaz ve 2. if bloğuna geçilir. Doğru ise çalıştırılır ve çıkılır, yanlış ise sıraki if bloğuna geçilir(var ise). Bu döngü bu şekilde devam eder.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Örnek 1:</span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>var temperature = 26<br />
        <br />
        if temperature &gt; 22 {<br />
            println("Hava güzel, keyfini çıkar.")<br />
        }<br />
        else if temperature &gt; 28{<br />
            println("Hava sıcak, kendine dikkat et.")<br />
        }<br />
<br />
//Hava güzel, keyfini çıkar.<br />
//ilk if koşulu doğru olduğu için 1. if bloğu çalıştırıldı, <br />
//2. durum kontrol edilmedi ve çalıştırılmadı.</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b">Örnek 2:</span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>var temperature = 26<br />
        <br />
        if temperature &lt; 22 {<br />
            println("Hava soğuk, üstünü sıkı giyin.")<br />
        }<br />
        else if temperature &lt; 28{<br />
            println("Hava güzel, keyfini çıkar.")<br />
        }<br />
<br />
//Hava güzel, keyfini çıkar.<br />
//ilk if koşulu doğru olmadığı için 2. koşul kontrol edildi, <br />
//doğru olduğu için 2. if bloğu çalıştırıldı.</code></div></div> <span style="font-weight: bold;" class="mycode_b">Örnek 3:</span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>var temperature = 36<br />
        <br />
        if temperature &lt; 22 {<br />
            println("Hava soğuk, üstünü sıkı giyin.")<br />
        }<br />
        else if temperature &lt; 28{<br />
            println("Hava güzel, keyfini çıkar.")<br />
        }<br />
<br />
//<br />
//1. koşul doğru olmadığı için 2. koşula geçildi, <br />
//o da doğru olmadığı için döngülerden hiçbiri çalıştırılmadı</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b">Örnek 4:</span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>var temperature = 17<br />
        <br />
        if temperature &lt; 22 {<br />
            println("Hava soğuk, üstünü sıkı giyin.")<br />
        }<br />
        else if temperature &lt; 28{<br />
            println("Hava güzel, keyfini çıkar.")<br />
        }<br />
<br />
//Hava soğuk, üstünü sıkı giyin.<br />
//Döngülerden ikiside doğru, ancak 1. if döngüsünde koşul sağlandığı <br />
//için ilk döngü çalıştırıldı, 2. döngü kontrol edilmeden çıkıldı.</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b">Örnek 5:</span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>var temperature = 36<br />
        <br />
        if temperature &lt; 22 {<br />
            println("Hava soğuk, üstünü sıkı giyin.")<br />
        }<br />
        else if temperature &lt; 26{<br />
            println("Hava güzel, keyfini çıkar.")<br />
        }<br />
        else if temperature &lt; 33<br />
        {<br />
            println("Hava sıcak, dikkat et")<br />
        }<br />
        else if temperature &lt; 39<br />
        {<br />
            println("Hava çok sıcak !")<br />
        }<br />
<br />
//Hava çok sıcak !<br />
<br />
//if - else if yapısında sadece 2 değil, sınırsız sayıda peş peşe if blokları olabilir.<br />
//bu bloklardan max. 1 tanesi çalıştırılır.</code></div></div><br />
 <span style="color: #008000;" class="mycode_color">if – else if – else Yapısı</span><br />
if – else if – else yapısında, peşpeşe ve birbirine bağlı if bloklarının yanı sıra, en sonra 1 tane else bloğu bulunur. if bloklarındaki koşulların hiçbirinin doğru olmadığı durumda en sondaki else bloğu çalıştırılır.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Örnek :</span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>var examResult = 96<br />
        <br />
        if examResult &lt; 80 {<br />
            println("Harf Notunuz B -")<br />
        }<br />
        else if examResult &lt; 85{<br />
            println("Harf Notunuz B")<br />
        }<br />
        else if examResult &lt; 90{<br />
            println("Harf Notunuz A -")<br />
        }<br />
        else {<br />
            println("Hart Notunuz A")<br />
        }<br />
//Hart Notunuz A<br />
<br />
//if bloklarının hiç biri doğru olmadığı için, else bloğu çalıştırıldı</code></div></div>]]></description>
			<content:encoded><![CDATA[<span style="color: #008000;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">if Yapısı</span></span><br />
if yapısı, programlama dillerinde belirtilen bir koşulun doğruluğunu kontrol etmek için kullanılır. Belirtilen koşul sağlanıyor ise if yapısı <span style="font-style: italic;" class="mycode_i">true</span> değerini döner ve if bloğu çalıştırılır, eğer belirtilen koşul sağlanmıyor ise de if yapısı <span style="font-style: italic;" class="mycode_i">false</span> değerini döner ve if bloğu çalıştırılmaz.<br />
<br />
Bunun yanında if yapısının<span style="font-style: italic;" class="mycode_i"> if-else</span>, <span style="font-style: italic;" class="mycode_i">if-else if</span>, <span style="font-style: italic;" class="mycode_i">if-else if-else</span> gibi kullanımları vardır.<br />
Kafa karışıklığı oluşmaması için, belirtilen durumları örnekler üzerinden anlatalım. Bunu için önce if yapısının genel formunu öğrenmemiz gerekiyor.<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>if condition {<br />
   statements<br />
}</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b">Örnek :</span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>var age = 15<br />
        <br />
        if age &gt; 18 {<br />
            println("Yaşınız (age)'dir ve 18 yaşından büyük olduğunuz için ehliyet alabilirsiniz.")<br />
        }<br />
            println("Yaşınız (age)'dir ve 18 yaşından küçük olduğunuz için ehliyet alamazsınız.")<br />
<br />
<br />
//Yaşınız 15'dir ve 18 yaşından küçük olduğunuz için ehliyet alamazsınız.<br />
<br />
//Bu döngüde koşulun doğru olup olmadığını kontrol ettik. <br />
//Koşul yanlış olduğu için döngünün içi hiç bir zaman çalıştırılmayacak.</code></div></div><br />
<span style="color: #008000;" class="mycode_color">if – else Yapısı</span><br />
<br />
if-else yapısında, öncelikle verilen koşul’a bakılır, koşul doğru ise if bloğu çalıştırılır, else bloğu çalıştırılmaz. Eğer yanlış ise if bloğu çalıştırılmaz, else bloğu çalıştırılır.if-else koşulunun genel yapısı şu şekildedir:<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>if condition {<br />
    statements<br />
}<br />
else {<br />
    statements<br />
}</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b">Örnek1 :</span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>var examResult = 92<br />
        <br />
        if examResult &gt;= 85 {<br />
            println("Sınav sonucunuz gayet çok güzel, tebrikler.")<br />
        }<br />
        else {<br />
            println("Daha fazla çalışmanız gerekiyor.")<br />
        }<br />
<br />
//Sınav sonucunuz gayet çok güzel, tebrikler.</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b">Örnek 2 :</span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>var examResult = 65<br />
        <br />
        if examResult &gt;= 85 {<br />
            println("Sınav sonucunuz gayet çok güzel, tebrikler.")<br />
        }<br />
        else {<br />
            println("Daha fazla çalışmanız gerekiyor.")<br />
        }<br />
<br />
//Daha fazla çalışmanız gerekiyor.</code></div></div><br />
 <span style="color: #008000;" class="mycode_color">if – else if Yapısı</span><br />
if – else if yapısını peşpeşe ve birbirine bağımlı if blokları olarak düşünebiliriz.Önce 1. sıradaki if yapısı kontrol edilir, doğru ise if bloğu çalıştırılır ve sonraki if-else bloklarının hiç birine bakılmaksınız çıkılır.<br />
<br />
Eğer 1. if bloğu yanlış ise blok çalıştırılmaz ve 2. if bloğuna geçilir. Doğru ise çalıştırılır ve çıkılır, yanlış ise sıraki if bloğuna geçilir(var ise). Bu döngü bu şekilde devam eder.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Örnek 1:</span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>var temperature = 26<br />
        <br />
        if temperature &gt; 22 {<br />
            println("Hava güzel, keyfini çıkar.")<br />
        }<br />
        else if temperature &gt; 28{<br />
            println("Hava sıcak, kendine dikkat et.")<br />
        }<br />
<br />
//Hava güzel, keyfini çıkar.<br />
//ilk if koşulu doğru olduğu için 1. if bloğu çalıştırıldı, <br />
//2. durum kontrol edilmedi ve çalıştırılmadı.</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b">Örnek 2:</span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>var temperature = 26<br />
        <br />
        if temperature &lt; 22 {<br />
            println("Hava soğuk, üstünü sıkı giyin.")<br />
        }<br />
        else if temperature &lt; 28{<br />
            println("Hava güzel, keyfini çıkar.")<br />
        }<br />
<br />
//Hava güzel, keyfini çıkar.<br />
//ilk if koşulu doğru olmadığı için 2. koşul kontrol edildi, <br />
//doğru olduğu için 2. if bloğu çalıştırıldı.</code></div></div> <span style="font-weight: bold;" class="mycode_b">Örnek 3:</span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>var temperature = 36<br />
        <br />
        if temperature &lt; 22 {<br />
            println("Hava soğuk, üstünü sıkı giyin.")<br />
        }<br />
        else if temperature &lt; 28{<br />
            println("Hava güzel, keyfini çıkar.")<br />
        }<br />
<br />
//<br />
//1. koşul doğru olmadığı için 2. koşula geçildi, <br />
//o da doğru olmadığı için döngülerden hiçbiri çalıştırılmadı</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b">Örnek 4:</span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>var temperature = 17<br />
        <br />
        if temperature &lt; 22 {<br />
            println("Hava soğuk, üstünü sıkı giyin.")<br />
        }<br />
        else if temperature &lt; 28{<br />
            println("Hava güzel, keyfini çıkar.")<br />
        }<br />
<br />
//Hava soğuk, üstünü sıkı giyin.<br />
//Döngülerden ikiside doğru, ancak 1. if döngüsünde koşul sağlandığı <br />
//için ilk döngü çalıştırıldı, 2. döngü kontrol edilmeden çıkıldı.</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b">Örnek 5:</span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>var temperature = 36<br />
        <br />
        if temperature &lt; 22 {<br />
            println("Hava soğuk, üstünü sıkı giyin.")<br />
        }<br />
        else if temperature &lt; 26{<br />
            println("Hava güzel, keyfini çıkar.")<br />
        }<br />
        else if temperature &lt; 33<br />
        {<br />
            println("Hava sıcak, dikkat et")<br />
        }<br />
        else if temperature &lt; 39<br />
        {<br />
            println("Hava çok sıcak !")<br />
        }<br />
<br />
//Hava çok sıcak !<br />
<br />
//if - else if yapısında sadece 2 değil, sınırsız sayıda peş peşe if blokları olabilir.<br />
//bu bloklardan max. 1 tanesi çalıştırılır.</code></div></div><br />
 <span style="color: #008000;" class="mycode_color">if – else if – else Yapısı</span><br />
if – else if – else yapısında, peşpeşe ve birbirine bağlı if bloklarının yanı sıra, en sonra 1 tane else bloğu bulunur. if bloklarındaki koşulların hiçbirinin doğru olmadığı durumda en sondaki else bloğu çalıştırılır.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Örnek :</span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>var examResult = 96<br />
        <br />
        if examResult &lt; 80 {<br />
            println("Harf Notunuz B -")<br />
        }<br />
        else if examResult &lt; 85{<br />
            println("Harf Notunuz B")<br />
        }<br />
        else if examResult &lt; 90{<br />
            println("Harf Notunuz A -")<br />
        }<br />
        else {<br />
            println("Hart Notunuz A")<br />
        }<br />
//Hart Notunuz A<br />
<br />
//if bloklarının hiç biri doğru olmadığı için, else bloğu çalıştırıldı</code></div></div>]]></content:encoded>
		</item>
	</channel>
</rss>