Aggiungiamo una nuova classe

      Nessun commento su Aggiungiamo una nuova classe

Apriamo il nostro vecchio progetto e creiamo una nuova classe:

File -> new File -> Objective-c class andiamo avanti  subclass NSObject

e  come nome gli diamo MathUtility

Ora andremo a creare un nuovo metodo ma questa volta sarà un metodo di classe (identificabile con il segno +)

andiamo su MathUtility.h e aggiungiamo quanto segue :

[code lang=”objc”]

#import <Foundation/Foundation.h>

 

@interface MathUtility : NSObject{

}

+(float)circonferenzaDaRaggio:(float)raggio;

@end

[/code]

Andiamo ora nel file .m  e inseriamo invece questo codice :

[code lang=”objc”]

#import "MathUtility.h"

@implementation MathUtility

+(float)circonferenzaDaRaggio:(float)raggio{

float circonferenza=2*pi*raggio;

return circonferenza;

}

[/code]

Infine dobbiamo modificare il codice nel  file notifica in modo da richiamare il nuovo metodo di classe.

Conviene probalbilmente eliminare il vecchio codice andiamo prima su Notifica.h e cancelliamo

-(float)circonferenzaDaRaggio:(float)raggio;

Passaggio di valori per riferimento .

Ora faremo in modo oltre a utilizzare la classe appena creata in modo tale che ci calcoli la circonferenza  modificheremo anche l’azione testo 

in modo che ci dirà anche con quale raggio è stato calcolata la circonferenza

[code lang=”objc”]</span>

 

#import "Notifica.h"

#import "MathUtility.h"//importiamo la calsse appena creata

@implementation Notifica

 

– (id)init

{

self = [super init];

if (self) {

// Initialization code here.

}

return self;

}

 

-(IBAction)testo:(id)sender{

float raggio=0.0;

float circonferenza=[self genera:&raggio];

[textView insertText:[NSString stringWithFormat:@"Con un raggio di %f , la circonferenza è: %f\n",raggio,circonferenza]];

}

 

-(float)genera:(float*)original {

float raggio =[textField floatValue];

*original=raggio;

float circonferenza=[MathUtility  circonferenzaDaRaggio:raggio];/*modifichiamo il metodo

in modo da utilizzare la classe creata*/

return circonferenza;

}

@end

[/code]

Download progetto Link