Números Objective-C
Na linguagem de programação Objective-C, a fim de salvar os tipos de dados básicos como int, float, bool na forma de objeto,
Objective-C fornece uma variedade de métodos para trabalhar com NSNumber e os mais importantes estão listados na tabela a seguir.
Sr. Não. | Método e Descrição |
---|---|
1 | + (NSNumber *)numberWithBool:(BOOL)value Cria e retorna um objeto NSNumber contendo um determinado valor, tratando-o como um BOOL. |
2 | + (NSNumber *)numberWithChar:(char)value Cria e retorna um objeto NSNumber contendo um determinado valor, tratando-o como um caractere assinado. |
3 | + (NSNumber *)numberWithDouble:(double)value Cria e retorna um objeto NSNumber contendo um determinado valor, tratando-o como um duplo. |
4 | + (NSNumber *)numberWithFloat:(float)value Cria e retorna um objeto NSNumber contendo um determinado valor, tratando-o como um float. |
5 | + (NSNumber *)numberWithInt:(int)value Cria e retorna um objeto NSNumber contendo um determinado valor, tratando-o como um int assinado. |
6 | + (NSNumber *)numberWithInteger:(NSInteger)value Cria e retorna um objeto NSNumber contendo um determinado valor, tratando-o como um NSInteger. |
7 | - (BOOL)boolValue Retorna o valor do receptor como um BOOL. |
8 | - (char)charValue Retorna o valor do receptor como um char. |
9 | - (double)doubleValue Retorna o valor do receptor como um duplo. |
10 | - (float)floatValue Retorna o valor do receptor como um float. |
11 | - (NSInteger)integerValue Retorna o valor do receptor como um NSInteger. |
12 | - (int)intValue Retorna o valor do receptor como um int. |
13 | - (NSString *)stringValue Retorna o valor do receptor como uma string legível por humanos. |
Aqui está um exemplo simples de uso de NSNumber que multiplica dois números e retorna o produto.
#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;
}
Agora, quando compilarmos e executarmos o programa, obteremos o seguinte resultado.
2013-09-14 18:53:40.575 demo[16787] The product is 105