Habe versucht das alles rauszukopieren aus dem Projekt... das Programm funktioniert ... ich verstehe aber nicht warum das genau so geschrieben ist.
Es macht einfach nicht klick ...
Main Methode:
Protokollberechnung.h
Rechenknecht.h
Rechenknecht.m
KlasseA.h
KlasseA.m
Es macht einfach nicht klick ...
Main Methode:
Code:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ KlasseA* klasseA = [[KlasseA alloc] init]; Rechenknecht* rechenknecht = [[Rechenknecht alloc] init]; rechenknecht.protocolBerechnungen = klasseA; // Warum diese Zuweisung ? [rechenknecht rechnen]; return YES;}
Protokollberechnung.h
Code:
@protocol ProtocolBerechnungen <NSObject>
@required
- (void) berechnungStarten;
- (void) berechnungBeenden;
@optional
- (void) optionaleMethode;
@end
Rechenknecht.h
Code:
@interface Rechenknecht : NSObject
@property id<ProtocolBerechnungen> protocolBerechnungen; // Das verstehe ich so halbwegs. Man weiß nicht was für ein Objekt kommt // Hauptsache es unterstützt das Protokoll...
- (void) rechnen;
@end
Rechenknecht.m
Code:
@implementation Rechenknecht
-(void)rechnen
{
[self.protocolBerechnungen berechnungStarten];
NSLog(@"rechnen");
[self.protocolBerechnungen berechnungBeenden];
}
KlasseA.h
Code:
#import <Foundation/Foundation.h>
#import "ProtocolBerechnungen.h"
@interface KlasseA : NSObject <ProtocolBerechnungen>
@end
Code:
#import "KlasseA.h"
@implementation KlasseA
-(void)berechnungBeenden
{
NSLog(@"berechnungBeenden");
}
-(void)berechnungStarten
{
NSLog(@"berechnungStarten");
}
@end