iOS - Hedef C

İOS geliştirmede kullanılan dil hedef C'dir. Nesne yönelimli bir dildir ve bu nedenle, nesne yönelimli programlama dillerinde biraz geçmişe sahip olanlar için kolay olacaktır.

Arayüz ve Uygulama

Hedef C'de, sınıf bildiriminin yapıldığı dosyaya interface file ve sınıfın tanımlandığı dosyaya implementation file.

Basit bir arayüz dosyası MyClass.h şuna benzeyecektir -

@interface MyClass:NSObject { 
   // class variable declared here
}

// class properties declared here
// class methods and instance methods declared here
@end

Uygulama dosyası MyClass.m aşağıdaki gibi olacaktır -

@implementation MyClass
   // class methods defined here
@end

Nesne Oluşturma

Nesne oluşturma şu şekilde yapılır -

MyClass  *objectName = [[MyClass alloc]init] ;

Yöntemler

Yöntem, Hedef C'de aşağıdaki gibi bildirilmiştir -

-(returnType)methodName:(typeName) variable1 :(typeName)variable2;

Aşağıda bir örnek gösterilmiştir.

-(void)calculateAreaForRectangleWithLength:(CGfloat)length 
andBreadth:(CGfloat)breadth;

Ne olduğunu merak ediyor olabilirsiniz andBreadthstring is for; aslında bu, özellikle arama sırasında yöntemi kolayca okuyup anlamamıza yardımcı olan isteğe bağlı bir dizedir. Bu yöntemi aynı sınıfta çağırmak için aşağıdaki ifadeyi kullanıyoruz -

[self calculateAreaForRectangleWithLength:30 andBreadth:20];

Yukarıda belirtildiği gibi, andBreadth kullanımı, genişliğin 20 olduğunu anlamamıza yardımcı olur. Self, bunun bir sınıf yöntemi olduğunu belirtmek için kullanılır.

Sınıf Yöntemleri

Sınıf yöntemlerine, sınıf için nesne oluşturmadan doğrudan erişilebilir. Onunla ilişkili herhangi bir değişken ve nesne yoktur. Aşağıda bir örnek gösterilmiştir.

+(void)simpleClassMethod;

Sınıf adı kullanılarak (sınıf adını Sınıfım olarak kabul edelim) aşağıdaki gibi erişilebilir -

[MyClass simpleClassMethod];

Örnek Yöntemleri

Örnek yöntemlere yalnızca sınıf için bir nesne oluşturulduktan sonra erişilebilir. Bellek, örnek değişkenlerine tahsis edilir. Örnek bir örnek yöntemi aşağıda gösterilmiştir.

-(void)simpleInstanceMethod;

Aşağıdaki gibi sınıf için bir nesne oluşturduktan sonra erişilebilir -

MyClass  *objectName = [[MyClass alloc]init] ;
[objectName simpleInstanceMethod];

Hedef C'deki Önemli Veri Türleri

Sr.No. Veri tipi
1

NSString

Bir dizgeyi temsil etmek için kullanılır.

2

CGfloat

Bir kayan nokta değerini temsil etmek için kullanılır (normal kaymaya da izin verilir, ancak CGfloat kullanmak daha iyidir).

3

NSInteger

Tamsayıyı temsil etmek için kullanılır.

4

BOOL

Boole'yi temsil etmek için kullanılır (EVET veya HAYIR, BOOL türlerine izin verilir).

Günlükleri Yazdırma

NSLog - bir ifade yazdırmak için kullanılır. Aygıt günlüklerinde ve hata ayıklama konsolunda sırasıyla yayınlama ve hata ayıklama modlarında yazdırılacaktır. Örneğin,

NSlog(@"");

Kontrol Yapıları

Kontrol yapılarının çoğu, in ifadesinde olduğu gibi birkaç ekleme dışında, C ve C ++ 'daki ile aynıdır.

Özellikleri

Harici bir sınıfın sınıfa erişmesi için değişken özellikler kullanılır. Örneğin,

@property(nonatomic , strong) NSString *myString;

Özelliklere Erişim

Özelliklere erişmek için nokta operatörünü kullanabilirsiniz. Yukarıdaki mülke erişmek için aşağıdakileri yapacağız.

self.myString = @"Test";

Ayar yöntemini aşağıdaki gibi de kullanabilirsiniz -

[self setMyString:@"Test"];

Kategoriler

Kategoriler, mevcut sınıflara yöntemler eklemek için kullanılır. Bu şekilde, gerçek sınıfın tanımlandığı uygulama dosyalarına bile sahip olmadığımız sınıflara yöntem ekleyebiliriz. Sınıfımız için örnek bir kategori aşağıdaki gibidir -

@interface MyClass(customAdditions)
- (void)sampleCategoryMethod;
@end

@implementation MyClass(categoryAdditions)

-(void)sampleCategoryMethod {
   NSLog(@"Just a test category");
}

Diziler

NSMutableArray ve NSArray, hedef C'de kullanılan dizi sınıflarıdır. Adından da anlaşılacağı gibi, birincisi değiştirilebilir ve ikincisi değişmezdir. Aşağıda bir örnek gösterilmiştir.

NSMutableArray *aMutableArray = [[NSMutableArray alloc]init];
[anArray addObject:@"firstobject"];
NSArray *aImmutableArray = [[NSArray alloc]
initWithObjects:@"firstObject",nil];

Sözlük

NSMutableDictionary ve NSDictionary, hedef C'de kullanılan sözlük sınıflarıdır. Adından da anlaşılacağı gibi, birincisi değişebilir ve ikincisi değişmezdir. Aşağıda bir örnek gösterilmiştir.

NSMutableDictionary *aMutableDictionary = [[NSMutableArray alloc]init];
[aMutableDictionary setObject:@"firstobject" forKey:@"aKey"];
NSDictionary*aImmutableDictionary= [[NSDictionary alloc]initWithObjects:[NSArray arrayWithObjects:
@"firstObject",nil] forKeys:[ NSArray arrayWithObjects:@"aKey"]];