Swift Programlama Diline Genel Bakış 1

Basit Değerler (Temel Değişken Tanımlama) Sabit tanımlamak için let kullanabilir, değişken tanımlamak için de var kullanabilirsiniz. Bir sabitin değeri derleme zamanında bilinmesi gerekmez, ancak tam olarak bir kere bu sabite değer atamanız gerekir. Bu sabitleri bir kere tanımlamanız ve virçok yerde kullanabileceğiniz anlamına gelir.

  • varmyDegisken = 42
  • myDegisken = 50
  • letmySabit = 42

Bir sabit veya değişken kendisine atamak istediğiniz değer olarak aynı türde olmalıdır. Ancak, her zaman açıkça türünü yazmak zorunda değilsiniz. Bir değişken veya sabit tanımlarken değer ataması yapmanız, derleyicinin onun tipini algılamasını sağlar. Yukarıdaki örneklerde myDegisken başlangıç değeri integer (tam sayı) olduğu için derleyici myDegisken’in integer (tam sayı) olduğunu tahmin eder. Başlangıç ​​değeri yeterli bilgi vermezse (veya başlangıç ​​değeri yoksa), iki nokta üst üste ile değişken tipini belirtebilirsiniz.

  • letimplicitInteger = 70
  • letimplicitDouble = 70.0
  • letexplicitDouble: Double = 70

Üstü örtülü değerler (implicit) başka bir değere asla dönüştürülemez.  Eğer bir değeri başka bir tipe dönüştürmeniz gerekirse, explicitly (açık olarak) bir değişken oluşturmanız yeterli olacaktır.

  • letetiket = “Genişlik “
  • letgenislik = 94
  • letetiketGenisligi = etiket + String(genislik)

Değişkenleri string içerisinde yazmanın başka diğer basit yolu ise, değişkenleri parantez içine alarak başına (\) koymak yeterli olacaktır.

  • letelma = 3
  • letportakal = 5
  • letelmaToplami = “I have \(elma) apples.”
  • letmeyvaToplami = “I have \(elma + portakal) pieces of fruit.”

Dizileri ve dictionary’leri köşeli parantez ([]) ile oluşturabilir ve değerlerine köşeli parantez ([]) içerisine index numarası ve anahtarı yazarak ulaşabilirsiniz.

  • varshoppingList = [“catfish”, “water”, “tulips”, “blue paint”]
  • shoppingList[1] = “bottle of water”
  • varoccupations = [
  • “Malcolm”: “Captain”,
  • “Kaylee”: “Mechanic”,  ]
  • occupations[“Jayne”] = “Public Relations”

Boş bir dizi ya da dictionary oluşturmak için initializer syntax kullanabilirsiniz.

  • letemptyArray = String[]()
  • letemptyDictionary = Dictionary<String, Float>()

https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/GuidedTour.html#//apple_ref/doc/uid/TP40014097-CH2-XID_1

Kod İle UIWebView Ekleme

Karşılaştığım bir problem ile alakalı olarak iPhone ve iPad için kod ile WebView ekleme nasıl olur sizlerle paylaşmak istedim.

Kod ile component eklemek Interface Builder ( IB ) kullanmadan projeye component eklemektir. Kod tarafinda biraz fazla kod yazmak demek olsa da bana göre daha kontrollü bir yol olduğu için son projelerim de bunu tercih ediyorum.

Karşılaştığım problem ise ne yaparsam yapayım WebView için custom bir font ve font-size verememdi.

Öncelikle WebView i kullanacağımız View e eklememiz gerekiyor. Bunun için aşağıdaki kodları kullanılacak View e eklememiz gerekiyor.


UIWebView *webView = [[UIWebView alloc] init];

[self.view addSubview:webView];

Webview i ekledikten sonra sırada Webview de gösterilecek HTML i hazırlamak var.

Bunun için NSString sınıfında bir string oluşturuyoruz.


NSString *htmlText = [NSString stringWithFormat:@"<html> \n"

"<head> \n"

"<style type=\"text/css\"> \n"

"body {font-family: \"%@\"; font-size: %d;}\n"

"</style> \n"

"</head> \n"

"<body><center><b>%@</b></center>%@</body> \n"

"</html>", @"Arial", 16,baslik, htmlString];

Yukarıdaki kodda başlık ve htmlString değişkenlerini siz istediğiniz gibi değiştirebilirsiniz.

Görüntülenecek HTML i oluşturdukdan sonra bunu WebView de göster demeye geliyor. Webview için birçok HTML gösterme fonksiyonları olmakla beraber biz string oluşturduğumuz için buna uygun olan fonksiyonunu kullanacağız.


[webView loadHTMLString:htmlText baseURL:[NSURL fileURLWithPath:
[[NSBundle mainBundle] bundlePath]]]; 

Bu kod ile de az önce bahsettiğim gibi WebView içerisinde görüntülemeyi sağladık.

Vakit buldukça sizlerle iOS ve Windows Phone ile alakalı örnekler paylaşmaya çalışacağım. Sonraki yazılarım örnek projeler de içerecek.