Objective-C pode ser considerado um cinto de utilidades baseado no C. Isso significa que todo o poder da linguagem pai está disponível, incluindo as diversas bibliotecas. Em todos os meus testes, quando precisei de tipos numéricos usei os tipos primitivos do C. A pouco tempo descobri que existe um problema nessa abordagem.

4 8 15 16 23 42
Dependendo do uso, acredito que os tipos numéricos do C sejam mais indicados, mas ao desenvolver utilizando algumas classes, como NSArray onde não podemos incluir elementos que não sejam objetos, a coisa começa a complicar. O problema em questão não é a linguagem ou os seus criadores e sim a falta de conhecimento do programador.
Olhando a documentação, depois de uma boa garimpada, é possível encontrar referências que chamam atenção. NSNumber (subclasse de NSValue), NSInteger, NSUInteger. A primeira é a mais utilizada e é uma classe (imutável), o resto são somente sinônimos (typedef) para os tipos numéricos já conhecidos do C. Podemos criar um objeto da classe NSNumber através dos tipos signed (ou unsigned) char, short int, int, long int, float, double e BOOL.
Exemplos:
float f = 123.45;
char c = 'c';
NSNumber * intObject = [NSNumber numberWithInt:i];
NSNumber * floatObject = [NSNumber numberWithFloat:f];
// isn't useful to me
NSNumber * yesObject = [NSNumber numberWithBool:YES];
NSNumber * noObject = [NSNumber numberWithBool:NO];
NSNumber * doubleObject = [NSNumber numberWithDouble:123.456];
NSNumber * charObject = [NSNumber numberWithChar:c];
NSLog(@"intObject class = %@", [intObject className]);
NSLog(@"floatObject class = %@", [floatObject className]);
NSLog(@"yesObject class = %@", [yesObject className]);
NSLog(@"noObject class = %@", [noObject className]);
NSLog(@"doubleObject class = %@", [doubleObject className]);
NSLog(@"CharObject class = %@", [charObject className]);
// string representation
NSLog(@"\n");
NSLog(@"String value of intObject = %@", [intObject stringValue]);
NSLog(@"String value of floatObject = %@", [floatObject stringValue]);
NSLog(@"String value of yesObject = %@", [yesObject stringValue]);
NSLog(@"String value of noObject = %@", [noObject stringValue]);
NSLog(@"String value of doubleObject = %@", [doubleObject stringValue]);
NSLog(@"String value of CharObject = %@", [charObject stringValue]);
// comparing
// the return will be NSOrderedAscending (greated than), NSOrderedSame (equal to)
// and NSOrderedDescending (less than).
[intObject compare:floatObject];
[floatObject compare:intObject];








E aí cara, blz?
Quanto tempo né? To sempre lendo seus posts, e seus shared feeds do google reader. Muito bom.
Você tá programando em mac agora?
grande abraço
Fala Henrique!
Realmente tem muito tempo que não nos falamos. Acho que você nem ficou sabendo do meu acidente de moto, não é?
Então. Tenho estudado muitas tecnologias novas, meu intuito com Objective-C é desenvolvimento para iPhone. Este mero gafanhoto está tomando vergonha na cara e ao invés de esconder o ouro está publicando na web para que outras pessoas possam se beneficiar do conhecimento.
Muito obrigado pelo comentário cara!
Abração!
Opa,
Acidente de moto? Vixe!
Na verdade voce nunca foi de esconder o ouro, sempre compartilhou tudo. Continue assim.
Legal, iphone é um nicho muito interessante. Depois a gente pode conversar mais sobre isso, pois o laboratório em que trabalho está implementando um sistema novo para controle de laudos, pacientes,e interfaceamento entre equipamentos laboratoriais e o sistema. Apesar de ser feito em windows, ele possui uma API para Webservices. E isso me dá oportunidade de expandir a possibilidades, sem que eu dependa do desenvolvedor original do sistema.
Pretendo num futuro, algo via browser e/ou mobile, para funcionalidades extras.
grande abraço
Trabalhar com você ou pra você seria uma coisa interessante. Quando achar que chegou a hora é só me procurar, depende mais de você do que de mim
Abraço!
Cara, fantástico! É bom saber que existe gente que se interessa por Objective-C por aqui. Meu objetivo é usar em linux mesmo.
Parabéns
Olá Robson. É difícil encontrar alguma assunto sobre desenvolvimento que não me chame a atenção. Eu só tenho um grande problema: tempo. Isso realmente tem me faltado e muito. Pra você ter uma idéia, eu tenho cerca de dois posts sobre o assunto arquivados por que não consigo tempo para terminá-los. Espero que em breve eu tenha tempo de fazê-lo.
Boa noite!
Estou em busca de programadores de Objective-C para vários jobs… Onde posso encontrar estes profissionais? Poderia me ajudar?
Grata
Totally agree with WRT MonoTouch Josh. Not only will learning Objective-C help you with inretop, there are so many samples out there (not to mention all the SDK docs and tutorials from Apple) that it’s almost a necessity. MonoTouch is great, I’ve used it several times now for building iOS applications, but at some point you run into a snag that requires some research and invariably the solution exists in some ObjC sample Plus, it gives you a better appreciation for MonoTouch’s brevity consider the pinnacle example of trimming a string in ObjC:myString = [myString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];vs:myString = myString.Trim(new char[] { , \r’, \n’ });