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>
&nbsp;
@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>
&nbsp;
#import "Notifica.h"
#import "MathUtility.h"//importiamo la calsse appena creata
@implementation Notifica
&nbsp;
– (id)init
{
self = [super init];
if (self) {
// Initialization code here.
}
return self;
}
&nbsp;
-(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]];
}
&nbsp;
-(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