Nano'nun Günlüğü…

Ideallerimi gerceklestirmek icin arastiriyorum, Unutmamak icin yaziyorum!

  • Bulundugunuz Sayfa: 
  • Ana Sayfa
  • Objective C’de Class Yapilari

Objective C’de Class Yapilari

Gönderim Ocak 30th, 2013

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;

 

 

 

 

 

 

 

 

OgrenciBilgileri.H Kaynak Kodlari;

#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 release];
ogrIsim = [[NSString alloc] initWithString:newOgrIsim];
}
– (void) setOgrSoyisim: (NSString*) newOgrSoyisim{
[ogrSoyisim release];
ogrSoyisim = [[NSString alloc] initWithString:newOgrSoyisim];
}
– (void) setOgrNo: (NSNumber*) newOgrNo{
[ogrNo release];
ogrNo = [[NSNumber alloc] init];
ogrNo = newOgrNo;
}
– (void) setOgrBolum: (NSString*) newOgrBolum{
[ogrBolum release];
ogrBolum = [[NSString alloc] initWithString:newOgrBolum];
}

– (NSString*) ogrIsim{return ogrIsim;}
– (NSString*) ogrSoyisim{return ogrSoyisim;}
– (NSNumber*) ogrNo{return ogrNo;}
– (NSString*) ogrBolum{return ogrBolum;}

– (void) dealloc
{
[ogrIsim release];
[ogrSoyisim release];
[ogrNo release];
[ogrBolum release];
[super 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 = [[OgrenciBilgileri alloc] init];

[kayiAl setOgrIsim:ogrIsimText.text];
[kayiAl setOgrSoyisim:ogrSoyisimText.text];
[kayiAl setOgrNo:(NSNumber*)ogrNoText.text];
[kayiAl setOgrBolum:ogrBolumText.text];

ogrIsimLabel.text = [kayiAl ogrIsim];
ogrSoyisimLabel.text = [kayiAl ogrSoyisim];
ogrNoLabel.text = [kayiAl ogrNo];
ogrBolumLabel.text = [kayiAl ogrBolum];

NSLog(@”Ogrencinin Adi : %@ “, [kayiAl ogrIsim]);
NSLog(@”Ogrencinin Soyadi : %@ “, [kayiAl ogrSoyisim]);
NSLog(@”Ogrencinin Numarasi : %@ “, [kayiAl ogrNo]);
NSLog(@”Ogrencinin Bolumu : %@ “, [kayiAl ogrBolum]);

}

– (IBAction)hideKeyboard:(id)sender{
NSLog(@”hideKeyboard”);
[sender resignFirstResponder];
}

@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.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Keyifli Calismalar Dilerim…

Etiketler: , , , ,
Bulundugu Konu Etiketleri Objective C, Yazilim |

Lutfen Yorumlarinizi Burdan Ulastiriniz!...

You must be Kullanici Adiniz : to post a comment.

Istatistik

  • 1 Uye
  • 334 Yazi
  • 16 Yorum Var