Procedente de Java supongo que esto es lo esperado. Realmente me encantaría aprender Objective-C y comenzar a desarrollar aplicaciones para Mac, pero la sintaxis me acaba de matar.Quiere aprender Objective-C pero la sintaxis es muy confusa
Por ejemplo:
-(void) setNumerator: (int) n
{
numerator = n;
}
Lo que es rociada y por qué es seguido por vacío entre paréntesis? Nunca he visto el vacío entre paréntesis en C/C++, Java o C#. ¿Por qué no tenemos un punto y coma después de (int) n? Pero lo tenemos aquí:
-(void) setNumerator: (int) n;
¿Y qué pasa con este proceso alloc, init, release?
myFraction = [Fraction alloc];
myFraction = [myFraction init];
[myFraction release];
Y por qué es [myFraction release];
y no myFraction = [myFraction release];
?
Y, por último, ¿qué pasa con @ signs y qué equivale a esta implementación en Java?
@implementation Fraction
@end
actualmente estoy leyendo Programming in Objective C 2.0 y es tan frustrante el aprendizaje de esta nueva sintaxis para alguien en el fondo de Java.
ACTUALIZACIÓN 1: Después de leer todas estas respuestas y la Programación en Objective C 2.0 un poco más, ¡todo comienza a tener sentido ahora!
ACTUALIZACIÓN 2: Gracias por el gran consejo "support-multilanguage". Podemos combinar estas dos afirmaciones en uno de este modo:
myFraction = [Fraction alloc];
myFraction = [myFraction init];
puede reducirse a:
myFraction = [[Fraction alloc] init];
Te acostumbrarás a él después de trabajar con él por un tiempo. Me pareció bastante extraño cuando comencé también. – progrmr
http://developer.apple.com/mac/library/documentation/cocoa/conceptual/objectivec/Introduction/introObjectiveC.html Lea esto. No es diferente comenzar un nuevo idioma que cualquier otro. Existen diferencias de sintaxis y administración de las diferencias de memoria, pero eso no es diferente de iniciar otro lenguaje de alto nivel. –
Puedo digerir la sintaxis de Objective-C en 1 día. Pero me lleva semanas (apenas) entender la gestión de la memoria. ¡Buena suerte! – ohho