Consultas

Si tienes alguna duda sobre los temas del blog, ¡No dudes en preguntarla en esta sección!

10 respuestas a Consultas

  1. Artus88 dice:

    Hola. vi tu block se me hace muy interesante, aprendo Objective-C, pero mira me gustaría saber como como le hago para que en tiempo de ejecución me cree mas cajas de texto, Por ejemplo que el programa a la hora de apretar un Botón me cree mas cajas de texto. Saludos Agradecería tu respuest

    • robjperez dice:

      Crear un botón en tiempo de ejecución sin usar Interface Builder es muy sencillo, únicamente debes colocar en el target de la acción de tu botón, la instanciación de dichos botones.

      El constructor que se suele usar es “initWithFrame:” donde se le pasa el “frame” o marco donde se va a crear tu botón. El origen de coordenadas, es decir, el 0,0 es la esquina inferior izquierda.

      Una vez que tienes la instancia de los botones, puedes llamar al método “addSubview” de la vista padre para añadir los botones.

      El código seria algo como esto:

      NSButton *but = [[NSButton alloc] initWithFrame:NSMakeRect(10, 10, 100, 100)];
      [but setTitle:@”Hola”];
      [view addSubview:but];

      Siendo view la referencia al contentView de la ventana de la aplicación.

      Espero que esto pueda ayudarte.

  2. raul dice:

    Hola,

    Estoy aprendiendo Objective-c desde cero y estoy creando una app sencilla que haga una suma de dos cajas de texto y pulsando un botón muestre el resultado en la tercera caja de texto, pero cuando ejecuto la app me deja introducir los datos para al darle al botón, la app se cierra.

    Adjunto el código:

    En el .h

    @interface sumadorViewController : UIViewController {

    IBOutlet id sumador1;
    IBOutlet id sumador2;
    IBOutlet id resultado;
    }
    -(IBAction)sumar:(id)sender;

    @end

    En el .m

    @implementation sumadorViewController

    -(IBAction)sumar:(id)sender {

    //lee el sumador1
    int operando1 = [sumador1 intValue];
    //lee el sumador1
    int operando2 = [sumador2 intValue];

    [resultado setValue:operando1 + operando2];

    }

    – (void)dealloc {
    [super dealloc];
    }

    @end

    está bien enlazados los objetos.
    Me podrían ayudar en donde me puedo estar equivocando.
    Saludos

    • robjperez dice:

      Hola,

      Lo primero que te diría es que declararas los outlets del tipo de control al que “apuntan” usar el tipo anónimo (id) puede causar algunos problemas, ya que pese a que objetive-c te deja enviar cualquier mensaje a cualquier referencia de objeto, puede que este objeto no responda y salte una excepción durante la ejecución. Por ello yo declararía los cuadros de texto como IBOutlet NSTextField* sumador1, sumador2, resultado.

      Derivado de esto, seguramente el compilador te este dando algún warning.

      Llegando el motivo de tu pregunta, tu aplicación se cierra por que estas llamando al método setValue con un entero, cuando la forma apropiada de establecer el contenido de una caja de texto es usando los set***Value, como por ejemplo setStringValue o setIntValue. Si cambias tu código a [resultado setIntValue:(operando1+operando2)], posiblemente te funcionará sin problemas.

      Como moraleja, quedate con la idea de que el tipo anonimo en objetive-c es muy potente pero debe tratarse de enviar siempre que sea posible, y por otro lado que los warnings del compilador son tus amigos😉

      Saludos.

  3. mangaxhombro dice:

    Muy buenas. Estoy empezando a recorrer este mundo de cocoa y objetive -C y me gustaría ir documentando esos primeros pasos en mi blog.

    Veo que para publicar código usas el plugin “SyntaxHighlighter”, yo me lo he instalado pero sólo consigo publicar texto plano; sin embargo tú consigues darle formato y hacer que comprenda partes del código.

    Por favor ¿me podrías decir qué parámetro, comando o lenguaje de SyntaxHighlighter usas para conseguirlo? Muchas gracias🙂

    • robjperez dice:

      Al estar el blog publicado en la web de wordpress, no te puedo decir que plugin tiene instalado.

      Para que aparezca el código resaltado, utilizo el siguiente tag:

      [ sourcecode language=”objc” ]
      Código en objective-c
      [ /sourcecode ]

      (Quitando los espacios)

      Puedes cambiar la cadena correspondiente al lenguaje por el que vas a poner dentro del bloque.

  4. Armando Moreno dice:

    hola tengo un problema estoy empezando a desarrollar aplicaciones web con Erlang (utilizo el servidor yaws), y quisiera saber como puedo conectar a mysql mediandte ODBC

  5. tavot dice:

    hola podrías ayudarme, el código que pusiste en el articulo de Desmitificando Core Data para iOS es muy bueno y te agradezco el aporte, solo que he estado haciendo pruebas para BORRAR y no puedo, podrías ayudarme con algún código para hacer el borrado de registros del Entity sobre ese ejemplo, muchas gracias.

  6. Usama Sadiq dice:

    I need your help regarding pjsip background mode in ios please contact me on my email . i shall be thankfull to you. i read your answer but not satisfied . as my points are low in stackoverflow so i can not comment there

    http://stackoverflow.com/questions/7517563/receiving-voip-calls-while-application-is-in-background-in-ios?rq=1

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: