Ders 4 : Koleksiyonlar

0
724

Merhaba arkadaşlar. Bu yazımızda Objective C içerisinde bulunan koleksiyon tiplerini işleyeceğiz.

Koleksiyonlar içerisinde diğer nesneleri tutabilen nesne örnekleridir. Önde gelen koleksiyonlar NSArray veya NSMutableArray dir. Bu koleksiyonlar içerisinde aynı tipten birden fazla nesne tutulabilinir. Aşağıdaki örnekte üç tane NSString tipinden değer tutan bir dizi oluşturulmuştur.


NSArray *arrWords = @[@"String1", @"String2", @"String3"];

Burada dizinin birinci elemanına aşağıdaki şekilde ulaşılabilinir.
NSString *strFirstWord = arrWords[0];
Bir diğer dizi çeşidi olan NSMutableArray’ ın farkı ise oluşturulduktan sonra diziye ekleme yapılabilmesidir.
NSMutableArray *arrMutable = [[NSMutableArray alloc] initWithArray:arrWords];
Daha önce oluşturmuş olduğumuz arrWords dizisini NSMutableArray yapmış olduk. Şimdi bu yeni dizi üzerinde birkaç işlem yapalım.

[arrMutable exchangeObjectAtIndex:0 withObjectAtIndex:1];
Bu satırda dizinin 0. indeksindeki nesne ile 1. indeksindeki nesnenin yerleri değiştirilmiştir.

[arrMutable removeObjectAtIndex:1];
Bu satırda dizinin 1. indeksindeki nesne silinmiştir.

NSDictionary ve NSMutableDictionary

NSDictionary ve NSMutableDictionary aynı şekilde dizilere benzerler. Fakat key-value olarak nesneleri tutarlar. Daha sonra bir nesneye ulaşmak istersek o nesneye ait key değerini kullanmamız gerekir.

Aşağıda bir NSDictionary tanımlanmıştır.
NSDictionary *dict1 = @{"isim", "Erdinc",
"soyisim", "Kolukısa",
"telNo", "123456789"};

Şimdi burada “isim” değerine şu şekilde erişebiliriz.
NSString *name= dict1["isim"];

Oluşturmuş olduğumuz dict1 nesnesini NSMutableDictionary olarak kullanmak istersek;
NSMutableDictionart *mutableDict = [[NSMutableDictionary alloc] initWithDictionary:dict1];

NSSet
NSSet nesnesi de NSarray gibi çalışır fakat tek farkı aynı nesneden sadece bir tanesini alır.

NSSet *mySet = [[NSSet alloc] initWithObjects:@"Telefon", @"Televizyon", @"Masa", @"Televizyon"];
myset nesnesini ekrana yazdırdığımızda çıktısı aşağıdaki gibi olacaktır.

NSLog(@"Liste = %@", mySet);

Liste = {(
Telefon,
Televizyon,
Masa
)}

Bu NSSet nesnesini NSMutableSet olarak yazmak istersek;

NSMutableSet *mutableSet = [NSMutableSet setWithSet:mySet]

Yeni oluşturduğumuz mutableSet nesnesine ekleme yapalım ve bir nesneyi çıkaralım.
[mutableSet addObject:"Kitap"];
[mutableSet removeObject:"Televizyon"];

Evet arkadaşlar burada yazımızın sonuna gelmiş bulunmaktayız. Umarım faydalı bir yazı olmuştur.

Herkese bol şans.

HENÜZ YORUM YOK

CEVAP VER