iOS programlama – 1

iOS, akıllı telefon pazarında Apple’ın en büyük silahı. Yüzbinlerle ifade edilen uygulamayı içeren AppStore da bunun en önemli parçası.

iPhone, iPad gibi cihazlardaki yazılım tamamen Objective C üzerinden yazılıyor.

Giriş olarak kısaca bilgilendirme yapalım.

iOS temelinde 4 önemli parçadan oluşuyor. Her bir parça belirli fonksiyonları yerine getiriyor. Uygulama yazarken bu parçaların bazılarını kullanmak gerekiyor.

temel olarak:
1. CoreOS: Güvenlik, dosya sistemi, güç yönetimi işlemleri yürütüyor.
2. Core Services: Adres defteri, lokasyon servisleri, networking, threading gibi işlemleri kapsar.
3. Media: ses, görüntü vb. işlemler içindir.
4. Cocoa Touch: Çoklu dokunma, uyarılar vb. işlemleri yürütür.

Objective-C ile iOS uygulaması için bir mac sahibi olmanız ve ücretsiz Xcode’u kurmanız gerekiyor. Xcode Apple’ın geliştirdiği aynı MS’ın Visual Studio’su gibi bir IDE’dir. Mac AppStore’dan ücretsiz indirebilirsiniz.

iOS uygulaması temel yapısı

Tipik bir iOS uygulaması MVC (Model-View-Controller) yapısındadır.
Model uyuglamanızın nasıl olduğunu anlatır. Ancak nasıl göründüğü ile ilgilenmez.
Controller oluşturduğunuz model ile view arasındaki iletişimi sağlar.
View ise programınızın kullanıcı ile etkileşime geçtiği bölümdür.

Önemli olan nokta ise, Model daima Controller ile ileteşimdedir. Controller ise hem View hem de Model ile birlikte çalışır. View’lar kod ile çağırılabildiğinden model üzerinden bir view ile etkileşim sağlanmamalıdır.

Objective-C
Yapı olarak C’ye çok benzer. standart olarak “.h” ve “.m” dosyaları bulunur. public metotların tanımı .h te yapılırken içerikleri .m dosyasında gerçekleştirilir.

bir metot örneği:

-(void)MetotAdı:(değişkenTipi *)değişkenAdı;

bunun C#’taki karşılığı ise

public void MetotAdı(değişkenTipi değişkenAdı)
{

}

not: void tipi metotlar geriye bir değer döndürmez.

örnek bir property:

@property (nonatomic) double PropertyAdı;
not:.h dosyasında belirtilir.Bir property’e ait set ve get metotları .m dosyasında tanımlanır ve
@synthesize PropertyAdı ile .m dosyasında kullanılır. Synthesize ayrıca bizi set ve get metotlarını yazmaktan kurtarır. Tabiki kendimiz yazmak istemiyorsak! Synthesize edilen bir property i hafıza yönetiminden ötürü kullanabilmek için bir pointer kullanmak gerekir. Ayrıca Synthesize ile bir obje için hafızada yer açılmaz. Sadece onu gösteren pointer için yer ayırır.

örneğin:

@synthesize PropertyAdı = _PropertyAdı //property miz için pointer

Bir property sadece .m dosyasında tanımlandığında Private  özelliğe sahip olur. bazı property’ler strong tipinde olduğunda hafızada her zaman tutulur. Tüm objeler heap’te tutulduğundan pointer’lar ile istediğimize erişme şansımız vardır.

örneğin
@property (nonatomic, strong) NSString isim;

giriş olarak temel bilgileri vermiş olduk. 2. yazıda örneklerle beraber yeni konuya gireceğiz.

 

Leave a Reply

Your email address will not be published. Required fields are marked *