Objective C'de Class Yapilari
- Sevdanur GENC

- Jan 30, 2013
- 3 min read
Bu makalemde, XCode arayuzu ile birlikte objective c dilinde Interface sinif uzerinde olusturmaya calistigim basit bir uygulama ile ogrenci bilgi sistemini IPhone uzerinde calismasi icin yazmaya calisacagim. Bildiginiz uzere .h uzantili siniflarimizda interface class’imiz icin gerekli olan degiskenleri ve methodlarin isimlerini tanimliyoruz. Hemen ardindan da .m uzantili sinifimizda tanimlamis oldugumuz tum bu tanimlamalarin iceriklerini uygulama sinifimiz icerisinde tanimliyoruz.
Uygulamamiza baslarken oncelikle XCode’u calistiyoruz. Ardindan Create a new Xcode Project ‘i tikliyoruz.
Ardindan IOS altindaki Application menusu icerisinde bulunan Single View Application'i seciyoruz.
Karsimiza gelen ekranda projenin ismini belirliyoruz. Devices olarak IPhone'u seciyoruz. Use Automatic Referance Counting (ARC) tikini kaldiriyoruz. Next butonu ile projemizi olusturuyoruz.
Olusturdugumuz yeni projeye New->File secenegini kullanarak CoCoa Touch secenegi altindaki Objective-C class ‘i seciyoruz.
Boylelikle projemize .h ve .m uzantili iki adet class'i vermis oldugumuz isimlerle eklemis olacagiz.
.h uzantili dosyaya Interface sinifimizi hazirliyor olacagiz. Ogrenci bilgileri ile ilgli NSString tipinde isim,soyisim ve bolum degiskenlerini tanimlarken NSNumber tipinde de ogrencinin numarasini tasiyabilecegimiz bir degisken olusturmus oluyoruz. Olusturdugumuz degiskenlerin Getter ve Setter method'larinin interface class'inda olmasi gereken tanimlamalarini yaziyoruz.
.m uzantili dosyaya ise .h uzantili interface sinifimizda hazirlamis oldugumuz getter ve setter
method'larinin ne ise yarayacagina dair ilgili komutlari method'larin icerisine yaziyoruz.
ViewController.h Interface class'imiza IPhone uygulamamiz uzerinde kullandigimiz label'lar, TextField'lar ve Button'lar icin gerekli property tanimlamalarini yapiyoruz. Uygulama icerisinde button ve klavye icin kullanacagim method'larin isimlerimlerini ve tiplerini tanimladiktan sonra ViewController.m dosyasinda bu tanimlamalara ait olan kodlarin ilgili alanlara yazilmasini tamamliyoruz. Bu sinifimiz da artik uygulamamizi gerceklestirebilmemiz icin gerekli olan siniftan nesne olusturulmasi, nesne icerisine veri tanimlamalari ve ilgili sonuclari ekrana yazdirmamiz icin gerekli kodlari yaziyoruz.
Uygulamanin Tasarim Hali;
#import <Foundation/Foundation.h>
@interface OgrenciBilgileri : NSObject
{
NSString * ogrIsim;
NSString * ogrSoyisim;
NSNumber * ogrNo;
NSString * ogrBolum;
}
- (void) setOgrIsim: (NSString*) newOgrIsim;
- (void) setOgrSoyisim: (NSString*) newOgrSoyisim;
- (void) setOgrNo: (NSNumber*) newOgrNo;
- (void) setOgrBolum: (NSString*) newOgrBolum;
- (NSString*) ogrIsim;
- (NSString*) ogrSoyisim;
- (NSNumber*) ogrNo;
- (NSString*) ogrBolum;
@end
OgrenciBilgileri.M Kaynak Kodlari;
#import "OgrenciBilgileri.h"
@implementation OgrenciBilgileri
- (void) setOgrIsim: (NSString*) newOgrIsim{
; ogrIsim = [
initWithString:newOgrIsim];
}
- (void) setOgrSoyisim: (NSString*) newOgrSoyisim{
; ogrSoyisim = [
initWithString:newOgrSoyisim];
}
- (void) setOgrNo: (NSNumber*) newOgrNo{
; ogrNo = [
init];
ogrNo = newOgrNo;
}
- (void) setOgrBolum: (NSString*) newOgrBolum{
; ogrBolum = [
initWithString:newOgrBolum];
}
- (NSString*) ogrIsim{return ogrIsim;}
- (NSString*) ogrSoyisim{return ogrSoyisim;}
- (NSNumber*) ogrNo{return ogrNo;}
- (NSString*) ogrBolum{return ogrBolum;}
- (void) dealloc
{
;
;
;
;
;
}
@end
ViewController.H Kaynak Kodlari;
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
@property (retain, nonatomic) IBOutlet UILabel *ogrIsimLabel;
@property (retain, nonatomic) IBOutlet UILabel *ogrSoyisimLabel;
@property (retain, nonatomic) IBOutlet UILabel *ogrNoLabel;
@property (retain, nonatomic) IBOutlet UILabel *ogrBolumLabel;
@property (retain, nonatomic) IBOutlet UITextField *ogrIsimText;
@property (retain, nonatomic) IBOutlet UITextField *ogrSoyisimText;
@property (retain, nonatomic) IBOutlet UITextField *ogrNoText;
@property (retain, nonatomic) IBOutlet UITextField *ogrBolumText;
@property (retain, nonatomic) IBOutlet UIButton *listeleButton;
- (IBAction)yazdir:(id)sender;
- (IBAction)hideKeyboard:(id)sender;
@end
ViewController.M Kaynak Kodlari;
#import "ViewController.h" #import "OgrenciBilgileri.h" @interface ViewController () @end @implementation ViewController @synthesize ogrIsimLabel; @synthesize ogrSoyisimLabel; @synthesize ogrNoLabel; @synthesize ogrBolumLabel; @synthesize listeleButton; @synthesize ogrIsimText; @synthesize ogrSoyisimText; @synthesize ogrNoText; @synthesize ogrBolumText; - (IBAction)yazdir:(id)sender{ OgrenciBilgileri *kayiAl = [
init];
;
;
;
; ogrIsimLabel.text =
; ogrSoyisimLabel.text =
; ogrNoLabel.text =
; ogrBolumLabel.text =
; NSLog(@"Ogrencinin Adi : %@ ",
); NSLog(@"Ogrencinin Soyadi : %@ ",
); NSLog(@"Ogrencinin Numarasi : %@ ",
); NSLog(@"Ogrencinin Bolumu : %@ ",
);
}
- (IBAction)hideKeyboard:(id)sender{
NSLog(@"hideKeyboard");
;
}
@end
Uygulamanin Ekran Goruntuleri;
Uygulamamizi calistirmadan once,Outlets penceresinden kod tarafinda olusturmus oldugumuz degiskenleri uygulamanin tasarim uzerindeki nesnelerin uzerine surukleyip birakiyoruz.
Buton ve klavye ile ilgili yazmis oldugumuz method'lari da Received Actions penceresinden isimlerini tutup uygulamanin tasarim uzerindeki yerlerine surukleyip birakiyoruz.
Uygulamanin ekran ciktilari asagidaki gibidir.
Comments