İOS Obj-C

Objective C Protokoller

Protokol Kavramı

Protokol, nesnelerimize bazı durumlarda nasıl davranacaklarını söylememizi sağlıyor.

Protokol tanımalak için

@protocol ProtocolName
// metodler ve propertyler
@end

syntaxını kullanıyoruz.

Örnek olarak bir pasta grafik uygulaması yapalım.

kod5_pasta_grafik

 

Bu pasta grafik ekranını tekrar tekrar kullanabilmek için, bir protokol tanımlıyoruz. Bu protokol, pasta grafiğimizin veri kaynağını tanımlayacak. ismini PieChartViewDataSource olarak tanımlayalım. Bize gereken bilgiler, kaç tane dilim olacağı, bu dilimlerin büyüklükleri ve her dilimin başlığı.

@protocol PieChartViewDataSource
- (NSUInteger)numberOfSegments;
- (CGFloat)sizeOfSegmentAtIndex:(NSUInteger)segmentIndex;
- (NSString *)titleForSegmentAtIndex:(NSUInteger)segmentIndex;
@end

PieChartView classımızda (pasta grafiğin class ı), bu protokolü bir property’de tutacağız.

@interface PieChartView : UIView
@property (weak) id <PieChartViewDataSource> dataSource;

@end

Opsiyonel Metodlar

Protokollerde istediğimiz metodları opsiyonel hale getirebiliriz.  Bunu yapmak için başına @optional ekliyoruz.

@protocol PieChartViewDataSource
- (NSUInteger)numberOfSegments;
@optional
- (CGFloat)sizeOfSegmentAtIndex:(NSUInteger)segmentIndex;
- (NSString *)titleForSegmentAtIndex:(NSUInteger)segmentIndex;
@end

 

 

Daha ayrıntılı bilgiyi bu adresde bulabilirsiniz.

1 Yorum

  • UITableViewDataSource protokolündeki required metodları ve optional metodları nereden öğrenebilirim

Salih için bir yanıt yazın X