ya tengo mi Macbook pro 13". Dudillas inside XCode

Buenas!
Hace tiempo puse un hilo para preguntar por el mejor y más barato equipo para programar en iOS. No quería Hackintosh para mi son un coñazo. Pensé en comprar el Mac mini porque era el más económico, pero pensando en poder programar en todos lados finalmente me decidí por el Macbook pro de 13"

Por ahora muy contento con todo, salvo por el pésimo rendimiento del HD.

Ahora las dudas. Recomendais alguna carcasa para protegerlo? Me ha costado mucho dinero como para que se me joda por una tontería. Qué cable necesitaría para conectar por hdmi a un monitor? Supongo que el minidisplay port a HDMI. he visto este en amazon, qué os parece?
http://www.amazon.es/tech-Cable-Adaptad ... roduct_top

Alguno que curre con las XCode me podría decir como agrander la fuerte para todo el sistema y de forma permanente?. He conseguido agrandarla para una clase determinada pero al cambiar de clase los cambios no se aplican.... LLevo dos días programando y me estoy dejando la vista

Un saludo y gracias!

P.D. Algún curso/manual en castellano bueno para Objective C? Lo que más me está costando son las Strings y Arrays que no son como en otros lenguajes.
Creo que el mejor lugar para empezar con objective-c es está introducción de Cocoa Dev Central, pues se centra 100% en las clases y objectos, que después de todo, de eso se trata Objective-C, pues todo lo que no tenga relación con objetos es C.

En cuanto al castellano, la verdad es que no me atrevo a recomendarte alguno. Entre los que se olvidan poner un montón de lineas, y pierdes horas buscando porque no funciona si hiciste todo igual, entre los que hacen tutoriales cuando apenas están aprendiendo y entre los que sólo traducen de páginas en inglés y luego no terminal la traducción. A la larga terminas entiendo mejor las páginas en inglés aunque tu nivel sea malísimo. Eso sí, hay un blog muy bueno en castellano http://objective-c.es/ , pero que conste que no está dirigido para quienes van empezando, sino para quienes ya tiene un poco de conocimientos y quieren descubrir cosas nuevas.

En cuanto a la fuente, abre preferencias > fonts & colors.
Ummm me viene a mi de perlas lo de la introducción a objetive-c. xD

Y por cierto al final que modelo has pillado???
Antes que nada gracias a los dos por responder. Ahora mismo me paso por la página de Objective C y le hecho un vistazo. En realidad lo más que cuesta es el trato de los Strings y Arrays que es muy diferente a los lenguajes que he venido usando.

El portátil que he pillado ha sido éste.
13-inch: 2.5GHz

2.5GHz dual-core Intel Core i5
Turbo Boost up to 3.1GHz
4GB 1600MHz memory
500GB 5400-rpm hard drive1
Intel HD Graphics 4000
Built-in battery (7 hours)

La única pega es la poca resolución que para programar se nota, pero lo solucionaré conectándolo a uno de los monitores. La otra pega es que todos los HD mecánison son muuuy pero que muuuy lentos. A la hora de programar no se nota tanto sólo al iniciar el sistema. Pero vamos que es lento, es lento. Eso lo solucionaré mucho más adelante con un SSD.

Por todo lo demás contento y haciendo ya cosillas con las XCode que es para lo que lo quiero

Saludos y a ver si entre todos los que programamos creamos un hilo para Objective C, estaría bien
Sí entiendo la complicación que tienes sobre los NSString y lso NSArray.

Creo que la mejor manera de entenderlo, si es que tienes experiencia sobre la programación orientada objetos es así.
Imagina que tienes un lenguaje en el que ni los strings y los arrays son objectos. Ahora tu quieres que en ese lenguaje tus string y tus arrays sean objectos, y no simples strings y arrays. ¿Cómo lo harías? Si lo piensas un poco es muy posible de que llegues a la conclusión de que terminarías haciendo algo muy parecido Objective-C. Y es que Objective-C es un superconjunto de C. Es decir técnicamente es C con características extras, tu puedes usar los strings y arrays de C, que son muy similares a los demás lenguajes de programación, pero si quieres usar todos estos métodos que te ofrecen muchas cosas nuevas, entonces no usarás los strings y arrays planos de C, usarás objetos strings y objetos array.
Mmm, interesante, habrá que mirarse esa introducción a Objective C que recientemente también me compré un MacBook para eso entre otras cosas.

La lacra de no tener SSD es el arranque, como se nota. El mío es el i7 a 2.9 con 8Gb de RAM y cuando está en funcionamiento de fábula, pero para arrancar tarda horrores.
dnL7up escribió:Sí entiendo la complicación que tienes sobre los NSString y lso NSArray.





Imagina que yo hago esto en Java.
private int[] miArray;
Es decir sólo declaro el array, pero como aún no sé el tamaño que debe tener no lo instancio, en otra parte del código sé el tamaño que ha de tener y hago:

miArray = new int[String.length];
Para instanciar el array de un tamaño igual a la cantidad de caracteres que tiene X String

Cómo podría hacer algo similar en Objective C?. En estas cosillas son en las que me voy perdiendo... Lo demás es sólo cuestión de tiempo y práctica. Me está gustando muchísimo Objective C.

Saludos!
Guantanamera escribió:
dnL7up escribió:Sí entiendo la complicación que tienes sobre los NSString y lso NSArray.





Imagina que yo hago esto en Java.
private int[] miArray;
Es decir sólo declaro el array, pero como aún no sé el tamaño que debe tener no lo instancio, en otra parte del código sé el tamaño que ha de tener y hago:

miArray = new int[String.length];
Para instanciar el array de un tamaño igual a la cantidad de caracteres que tiene X String

Cómo podría hacer algo similar en Objective C?. En estas cosillas son en las que me voy perdiendo... Lo demás es sólo cuestión de tiempo y práctica. Me está gustando muchísimo Objective C.

Saludos!


Para declarar un array en Objective-c sólo debes hacer esto:

NSArray *miArray;

Para crear una instancia lo haces así.

miArray = [[NSArray alloc] initWithObjects:@Foo, @Bar, nil];

Los objetos NSArray son estáticos, es decir no pueden ser modificados después, por lo que no tiene caso definir su tamaño, sino que se inician con objetos directamente.

Por otro lado también existen los NSMutableArray, los cuales pueden ser modificados, en este caso puedes definir su tamaño al iniciarlo así:

NSMutableArray *suArray = [[NSMutableArray alloc] initWithCapacity:2];

Si bien es cierto que todo esto al principio no parece muy intuitivo, es por que los comparamos con lenguajes que son muy "shorthands" por decirlo de algún modo. Si lo pensamos a fondo la forma de hacer las cosas en Objective-C tiene todo el sentido del mundo.

Por ejemplo ¿Por que instanciar objetos anteponiendo una palabra reservada como "new" en lugar de usar un método de clase?

Como dato curioso, en este caso, el método que crea la instancia es alloc, y no el constructor initWithCapacity, en Objective-c los constructores son métodos de instancia.

Cabe señalar que en los últimos años el uso de Objective-C ha crecido tanto que Apple se ha esforzado mucho en hacer el lenguaje más fácil para quienes vienen de otros lenguajes, agregando muchos "shorthands" así como la sintaxis de puntos para getters y setters.

Por ejemplo hoy en día podemoos crear una NSArray así de fácil.

NSArray *miArray = @[@Foor, @Bar];

Esto técnicamente crea el mismo resultado que el primer ejemplo, de hecho el compilador literalmente convertirá nuestro @[@Foor, @Bar"] en [[NSArray alloc] initWithObjects:@Foo, @Bar, nil].

Te recomiendo leer sobre Modern Objective-C para conocer todas esas cosas que se han vuelto mucho más fáciles de hacer que antes.
dnL7up escribió:
Para declarar un array en Objective-c sólo debes hacer esto:

NSArray *miArray;

Para crear una instancia lo haces así.

miArray = [[NSArray alloc] initWithObjects:@Foo, @Bar, nil];

Los objetos NSArray son estáticos, es decir no pueden ser modificados después, por lo que no tiene caso definir su tamaño, sino que se inician con objetos directamente.

Te recomiendo leer sobre Modern Objective-C para conocer todas esas cosas que se han vuelto mucho más fáciles de hacer que antes.


Pedazo de aporte, muchísimas gracias!!.
He estado probando eso y mucho más ya estoy logrando hacer apps chorrillas, pero por algo se empieza. Me está gustando muchísimo Objective C. Por cierto cuando dices que son estáticos no querrás decir que son estáticos (comparten una misma posición en memoria para todas la la clase que los use) y que además son constantes?. Es decir, pueden ser estáticos pero variar su valor, pero en este caso creo que además tampoco puede variar su valor, por lo que sería algo así como static y final de Java.

He estado mirando tambien diccionarios y los NSMutableArray. Otra cosa curiosa es que sonde NSObjects, con lo que puedes tener cualquier tipo de dato en cualquier posición por lo que si no tienes cuidado al recuperar los datos de una posición podría darte excepción.

Te agradezco otra vez toda tu ayuda e información, a ver si la gente se anima y crea en eol algo sobre Objective C, aunque igual este no es el lugar oportuno... :(
Efectivamente en me refiero a que no se puede cambiar su valor. A mi también me está gustando mucho Objective-C antes de empezar, era un lenguaje que sólo com mirarlo me daba terror :p , pero una vez vas entendiendo porque Objective-C es como es, se le va encontrando su belleza.
9 respuestas