Numeri Objective-C
Nel linguaggio di programmazione Objective-C, per salvare i tipi di dati di base come int, float, bool in forma di oggetto,
Objective-C fornisce una gamma di metodi per lavorare con NSNumber e quelli importanti sono elencati nella tabella seguente.
Sr.No. | Metodo e descrizione |
---|---|
1 | + (NSNumber *)numberWithBool:(BOOL)value Crea e restituisce un oggetto NSNumber contenente un dato valore, trattandolo come un BOOL. |
2 | + (NSNumber *)numberWithChar:(char)value Crea e restituisce un oggetto NSNumber contenente un determinato valore, trattandolo come un carattere con segno. |
3 | + (NSNumber *)numberWithDouble:(double)value Crea e restituisce un oggetto NSNumber contenente un dato valore, trattandolo come un double. |
4 | + (NSNumber *)numberWithFloat:(float)value Crea e restituisce un oggetto NSNumber contenente un dato valore, trattandolo come un float. |
5 | + (NSNumber *)numberWithInt:(int)value Crea e restituisce un oggetto NSNumber contenente un determinato valore, trattandolo come un int con segno. |
6 | + (NSNumber *)numberWithInteger:(NSInteger)value Crea e restituisce un oggetto NSNumber contenente un determinato valore, trattandolo come un NSInteger. |
7 | - (BOOL)boolValue Restituisce il valore del ricevitore come BOOL. |
8 | - (char)charValue Restituisce il valore del destinatario come un carattere. |
9 | - (double)doubleValue Restituisce il valore del destinatario come un doppio. |
10 | - (float)floatValue Restituisce il valore del ricevitore come float. |
11 | - (NSInteger)integerValue Restituisce il valore del destinatario come NSInteger. |
12 | - (int)intValue Restituisce il valore del ricevitore come int. |
13 | - (NSString *)stringValue Restituisce il valore del destinatario come una stringa leggibile dall'uomo. |
Ecco un semplice esempio di utilizzo di NSNumber che moltiplica due numeri e restituisce il prodotto.
#import <Foundation/Foundation.h>
@interface SampleClass:NSObject
- (NSNumber *)multiplyA:(NSNumber *)a withB:(NSNumber *)b;
@end
@implementation SampleClass
- (NSNumber *)multiplyA:(NSNumber *)a withB:(NSNumber *)b {
float number1 = [a floatValue];
float number2 = [b floatValue];
float product = number1 * number2;
NSNumber *result = [NSNumber numberWithFloat:product];
return result;
}
@end
int main() {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
SampleClass *sampleClass = [[SampleClass alloc]init];
NSNumber *a = [NSNumber numberWithFloat:10.5];
NSNumber *b = [NSNumber numberWithFloat:10.0];
NSNumber *result = [sampleClass multiplyA:a withB:b];
NSString *resultString = [result stringValue];
NSLog(@"The product is %@",resultString);
[pool drain];
return 0;
}
Ora, quando compiliamo ed eseguiamo il programma, otterremo il seguente risultato.
2013-09-14 18:53:40.575 demo[16787] The product is 105