{"id":1126,"date":"2014-06-02T19:10:25","date_gmt":"2014-06-02T19:10:25","guid":{"rendered":"http:\/\/ctrl-x.com.mx\/ctrlx\/?p=1126"},"modified":"2014-06-02T19:10:25","modified_gmt":"2014-06-02T19:10:25","slug":"objective-c-conceptos-basicos","status":"publish","type":"post","link":"https:\/\/ctrl-x.com.mx\/ctrlx\/objective-c-conceptos-basicos\/","title":{"rendered":"Objective-C  (Conceptos B\u00e1sicos )"},"content":{"rendered":"<p>Bienvenido a esta nueva serie que se estar\u00e1 presentando alternativamente a la serie \u201ciOS desde Cero\u201d, para fortalecer las bases que te har\u00e1n entender mejor y desarrollar aplicaciones m\u00e1s robustas, tanto para Mac OS X como para iOS.<br \/>\nVisto en:<\/p>\n<h3><a href=\"https:\/\/ctrl-x.com.mx\/ctrlx\/apples-wwdc-june-2nd-live-coverage\/\">Apple\u2019s WWDC June 2nd LIVE Coverage<\/a><\/h3>\n<hr \/>\n<p>&nbsp;<\/p>\n<h2>Historia<\/h2>\n<p>Hace 41 a\u00f1os atr\u00e1s (1972) nace el lenguaje C, introduciendo una sintaxis innovadora que se convirti\u00f3 luego en la m\u00e1s popular del mundo, influenciando a muchos lenguajes que utilizamos hoy en d\u00eda.<br \/>\nEn 1980 aparece SmallTalk, el primer lenguaje orientado a objetos. Fue entonces cuando se pens\u00f3 que se podr\u00eda crear un lenguaje como C pero con orientaci\u00f3n a objetos, y as\u00ed naci\u00f3 C++ en el 83. M\u00e1s adelante, en 1986 fue creado Objective-C como una extensi\u00f3n del lenguaje C, a\u00f1adi\u00e9ndole: clases, objetos, m\u00e9todos, protocolos, excepciones, propiedades y categor\u00edas.<br \/>\nEn 1988 Objective-C fue adoptado por NeXT (la compa\u00f1\u00eda que fund\u00f3 Steve Jobs cuando dej\u00f3 Apple). Este fue utilizado como base para construir el sistema operativo que correr\u00edan sus computadores, NeXTStep.<br \/>\nEn el 96 Apple compr\u00f3 NeXT, y su sistema operativo, NextStep, pas\u00f3 a convertirse en Mac OS X en 2001. Es por esto que ver\u00e1s que la mayor\u00eda de las clases del SDK de iOS y Mac tienen el prefijo \u201cNS\u201d, porque provienen de NeXTStep.<br \/>\nEn 2007 se introdujo el iPhone, cuyo sistema operativo ser\u00eda basado en las tecnolog\u00edas de Mac. Es por esta raz\u00f3n que Objective-C tambi\u00e9n es el lenguaje utilizado para programar las aplicaciones nativas de iOS.<br \/>\nToda esta plataforma de Apple est\u00e1 sentada sobre m\u00e1s de 20 a\u00f1os de historia y evoluci\u00f3n de Objective-C, por eso no puede ser eliminado del cuadro.<\/p>\n<hr \/>\n<h2>El lenguaje<\/h2>\n<p>Objective-C al principio puede parecer intimidante porque se ve muy diferente, si vienes de lenguajes como Java o C++, pero la verdad es que es bastante sencillo.<br \/>\nA diferencia de C++, Java o C#, Objective-C no esta basado en C, Objective-C es C. Por lo tanto podr\u00edas copiar c\u00f3digo de un programa hecho en C y pegarlo en uno de Objective-C y este compilar\u00e1.<br \/>\nVamos a dar inicio a este tutorial. Abrimos Xcode (en este caso uso la versi\u00f3n 4.6.2) y creamos un nuevo proyecto seleccionando <strong><em>Application &gt; Command Line Tool<\/em><\/strong>.<\/p>\n<div class=\"alert alert-info\">\n<h4>\u00a1Alerta!<\/h4>\n<p>Los siguientes ejemplos son Objective-C puro, no son espec\u00edficos del desarrollo iOS ni de Mac OS X, sino del lenguaje. Para informaci\u00f3n b\u00e1sica sobre Xcode y como usarlo puedes revisar el primer cap\u00edtulo de la serie<br \/>\n<a href=\"http:\/\/codehero.co\/ios-sdk-desde-cero-introduccion\/\">\u201ciOS desde Cero\u201d<\/a>.\n<\/div>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1127 size-full\" src=\"https:\/\/ctrl-x.com.mx\/ctrlx\/wp-content\/uploads\/2014\/06\/QiJyGLe.jpg\" alt=\"\" width=\"764\" height=\"516\" \/><br \/>\nEn la siguiente ventana colocamos el nombre del producto, el nombre de la organizaci\u00f3n, el identificador de la compa\u00f1\u00eda, y seleccionamos \u201cFoundation\u201d del combo y chequeamos \u201cUse Automatic Reference Counting\u201d<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1128 size-full\" src=\"https:\/\/ctrl-x.com.mx\/ctrlx\/wp-content\/uploads\/2014\/06\/lFFxFjS.jpg\" alt=\"\" width=\"764\" height=\"513\" \/><\/p>\n<blockquote><p><strong>\u201cFoundation\u201d<\/strong> es un framework de Apple que facilita el manejo de estructuras b\u00e1sicas como colecciones, strings, fechas, entre otros.<br \/>\n<strong>\u201cAutomatic Reference Counting\u201d<\/strong> (ARC) en un manejador de memoria (no recolector de basura como el de Java o C#) que nos ahorrar\u00e1 tener que hacer release (similar a delete o free en C++). ARC lleva el conteo de referencias (punteros) a direcciones de memoria y es capaz de hacer la liberaci\u00f3n del espacio autom\u00e1ticamente por nosotros cuando el conteo llega a cero. En otras palabras, cuando creas un objeto, este es alocado en memoria y apuntado por una variable que llamamos \u201capuntador\u201d, cuando esta variable deja de existir (Ej: Termin\u00f3 la ejecuci\u00f3n de la funci\u00f3n donde fue creado), el espacio de memoria no es apuntado por nadie, por lo tanto ARC lo borra.<\/p><\/blockquote>\n<p>Guardamos en el directorio de nuestra preferencia y empezamos a programar.<\/p>\n<div style=\"float: none; margin: 10px 0 10px 0; text-align: center;\"><\/div>\n<h3>Estructura de un programa<\/h3>\n<p>Si todo sali\u00f3 bien, deber\u00edamos ver un archivo llamado main.m con el siguiente c\u00f3digo:<\/p>\n<div id=\"crayon-538cb210c53c1126029195\" class=\"crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate\" style=\"float: none; clear: both; font-size: 12px ! important; line-height: 15px ! important; height: auto;\" data-settings=\" minimize scroll-mouseover\">\n<div class=\"crayon-plain-wrap\"><textarea class=\"crayon-plain print-no\" style=\"-moz-tab-size: 4; font-size: 12px ! important; line-height: 15px ! important; opacity: 0; z-index: 0; overflow: hidden;\" readonly=\"readonly\" wrap=\"soft\" data-settings=\"\">\/\/&lt;br \/&gt;<br \/>\n\/\/  main.m&lt;br \/&gt;<br \/>\n\/\/  Ejemplo 1 &#8211; Objective-C&lt;br \/&gt;<br \/>\n\/\/&lt;br \/&gt;<br \/>\n\/\/  Created by Oscar Vicente Gonz\u00e1lez Greco on 16\/6\/13.&lt;br \/&gt;<br \/>\n\/\/  Copyright (c) 2013 Codehero. All rights reserved.&lt;br \/&gt;<br \/>\n\/\/&lt;\/p&gt;<br \/>\n&lt;p&gt;#import &amp;lt;Foundation\/Foundation.h&gt;       \/\/1&lt;\/p&gt;<br \/>\n&lt;p&gt;int main(int argc, const char * argv[]) \/\/2&lt;br \/&gt;<br \/>\n{&lt;\/p&gt;<br \/>\n&lt;p&gt;    @autoreleasepool {                  \/\/3&lt;\/p&gt;<br \/>\n&lt;p&gt;        \/\/ insert code here&#8230;          \/\/4&lt;br \/&gt;<br \/>\n        NSLog(@&#8221;Hello, World!&#8221;);        \/\/5&lt;\/p&gt;<br \/>\n&lt;p&gt;    }&lt;br \/&gt;<br \/>\n    return 0;                           \/\/6&lt;br \/&gt;<br \/>\n}<\/textarea><\/div>\n<div class=\"crayon-main\" style=\"position: relative; z-index: 1; overflow: hidden;\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\" style=\"font-size: 12px !important; line-height: 15px !important;\">\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c53c1126029195-1\">1<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c53c1126029195-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c53c1126029195-3\">3<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c53c1126029195-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c53c1126029195-5\">5<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c53c1126029195-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c53c1126029195-7\">7<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c53c1126029195-8\">8<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c53c1126029195-9\">9<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c53c1126029195-10\">10<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c53c1126029195-11\">11<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c53c1126029195-12\">12<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c53c1126029195-13\">13<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c53c1126029195-14\">14<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c53c1126029195-15\">15<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c53c1126029195-16\">16<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c53c1126029195-17\">17<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c53c1126029195-18\">18<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c53c1126029195-19\">19<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c53c1126029195-20\">20<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c53c1126029195-21\">21<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\" style=\"font-size: 12px !important; line-height: 15px !important;\">\n<div id=\"crayon-538cb210c53c1126029195-1\" class=\"crayon-line\"><span class=\"crayon-c\">\/\/<\/span><\/div>\n<div id=\"crayon-538cb210c53c1126029195-2\" class=\"crayon-line\"><span class=\"crayon-c\">\/\/\u00a0\u00a0main.m<\/span><\/div>\n<div id=\"crayon-538cb210c53c1126029195-3\" class=\"crayon-line\"><span class=\"crayon-c\">\/\/\u00a0\u00a0Ejemplo 1 &#8211; Objective-C<\/span><\/div>\n<div id=\"crayon-538cb210c53c1126029195-4\" class=\"crayon-line\"><span class=\"crayon-c\">\/\/<\/span><\/div>\n<div id=\"crayon-538cb210c53c1126029195-5\" class=\"crayon-line\"><span class=\"crayon-c\">\/\/\u00a0\u00a0Created by Oscar Vicente Gonz\u00e1lez Greco on 16\/6\/13.<\/span><\/div>\n<div id=\"crayon-538cb210c53c1126029195-6\" class=\"crayon-line\"><span class=\"crayon-c\">\/\/\u00a0\u00a0Copyright (c) 2013 Codehero. All rights reserved.<\/span><\/div>\n<div id=\"crayon-538cb210c53c1126029195-7\" class=\"crayon-line\"><span class=\"crayon-c\">\/\/<\/span><\/div>\n<div id=\"crayon-538cb210c53c1126029195-8\" class=\"crayon-line\"><\/div>\n<div id=\"crayon-538cb210c53c1126029195-9\" class=\"crayon-line\"><span class=\"crayon-p\">#import &amp;lt;Foundation\/Foundation.h&gt;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/1<\/span><\/div>\n<div id=\"crayon-538cb210c53c1126029195-10\" class=\"crayon-line\"><\/div>\n<div id=\"crayon-538cb210c53c1126029195-11\" class=\"crayon-line\"><span class=\"crayon-t\">int<\/span><span class=\"crayon-e\">main<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-t\">int<\/span><span class=\"crayon-i\">argc<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-m\">const<\/span><span class=\"crayon-t\">char<\/span><span class=\"crayon-o\">*<\/span><span class=\"crayon-v\">argv<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-c\">\/\/2<\/span><\/div>\n<div id=\"crayon-538cb210c53c1126029195-12\" class=\"crayon-line\"><span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-538cb210c53c1126029195-13\" class=\"crayon-line\"><\/div>\n<div id=\"crayon-538cb210c53c1126029195-14\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">@<\/span><span class=\"crayon-e\">autoreleasepool<\/span><span class=\"crayon-sy\">{<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-c\">\/\/3<\/span><\/div>\n<div id=\"crayon-538cb210c53c1126029195-15\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><\/div>\n<div id=\"crayon-538cb210c53c1126029195-16\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-c\">\/\/ insert code here&#8230;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/4<\/span><\/div>\n<div id=\"crayon-538cb210c53c1126029195-17\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">NSLog<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">@<\/span><span class=\"crayon-s\">&#8220;Hello, World!&#8221;<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-c\">\/\/5<\/span><\/div>\n<div id=\"crayon-538cb210c53c1126029195-18\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><\/div>\n<div id=\"crayon-538cb210c53c1126029195-19\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div id=\"crayon-538cb210c53c1126029195-20\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-st\">return<\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">;<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-c\">\/\/6<\/span><\/div>\n<div id=\"crayon-538cb210c53c1126029195-21\" class=\"crayon-line\"><span class=\"crayon-sy\">}<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<ol>\n<li>En esta l\u00ednea importamos el foundation framework. De esta menear le dijimos a la aplicaci\u00f3n que vamos a utilizarlo.<\/li>\n<li>No importa si programas para iOS o Mac, todas las aplicaciones en Objective-C inician con la funci\u00f3n main. Xcode siempre la va incluir por nosotros, por lo tanto no es necesario que la escribamos.<\/li>\n<li><em>autoreleasepool<\/em> tiene que ver con manejo de memoria, por ahora vamos a ignorarlo, esto lo estar\u00e9 explicando junto a ARC con m\u00e1s detalle en futuros cap\u00edtulos.<\/li>\n<li>Esto es un comentario. Tambi\u00e9n podemos comentar con \/* *\/ como en la mayor\u00eda de los lenguajes modernos.<\/li>\n<li><em>NSLog<\/em> se usa para escribir mensajes de salida (imprimir por pantalla), es el equivalente, a printf de C++, system.out.println de Java o console.writeline de C#.<\/li>\n<li>Este es el final de la funci\u00f3n main, indicando que fue exitosa la ejecuci\u00f3n.<\/li>\n<\/ol>\n<blockquote><p>Objective-C es un lenguaje case sensitive, esto significa que <em>main<\/em> es diferente de <em>Main<\/em>.<br \/>\nPor otro lado, no es sensible a espacios en blanco por lo que la funci\u00f3n <em>main<\/em> se podr\u00eda declarar tambi\u00e9n de la siguiente manera:<\/p><\/blockquote>\n<div id=\"crayon-538cb210c53d9349172491\" class=\"crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate\" style=\"float: none; clear: both; font-size: 12px ! important; line-height: 15px ! important; height: auto;\" data-settings=\" minimize scroll-mouseover\">\n<div class=\"crayon-plain-wrap\"><textarea class=\"crayon-plain print-no\" style=\"-moz-tab-size: 4; font-size: 12px ! important; line-height: 15px ! important; opacity: 0; overflow: hidden; z-index: 0;\" readonly=\"readonly\" wrap=\"soft\" data-settings=\"\">int main(int argc,&lt;br \/&gt;<br \/>\n         const char * argv[])&lt;br \/&gt;<br \/>\n&#8230;<\/textarea><\/div>\n<div class=\"crayon-main\" style=\"position: relative; z-index: 1; overflow: hidden;\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\" style=\"font-size: 12px !important; line-height: 15px !important;\">\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c53d9349172491-1\">1<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c53d9349172491-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c53d9349172491-3\">3<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\" style=\"font-size: 12px !important; line-height: 15px !important;\">\n<div id=\"crayon-538cb210c53d9349172491-1\" class=\"crayon-line\"><span class=\"crayon-t\">int<\/span><span class=\"crayon-e\">main<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-t\">int<\/span><span class=\"crayon-i\">argc<\/span><span class=\"crayon-sy\">,<\/span><\/div>\n<div id=\"crayon-538cb210c53d9349172491-2\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-m\">const<\/span><span class=\"crayon-t\">char<\/span><span class=\"crayon-o\">*<\/span><span class=\"crayon-v\">argv<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div id=\"crayon-538cb210c53d9349172491-3\" class=\"crayon-line\"><span class=\"crayon-sy\">.<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-sy\">.<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h3>Corriendo la aplicaci\u00f3n<\/h3>\n<p>Objective-C es un lenguaje que debe ser compilado. A diferencia de Javascript, PHP, Ruby o Python, que son lenguajes interpretados.<br \/>\nPara compilar podemos seleccionar <strong><em>Product &gt; Build<\/em><\/strong> o presionar <strong><em>Command+B<\/em><\/strong> que es el atajo. Si no da\u00f1amos nada del proyecto que gener\u00f3 Xcode para nosotros, deber\u00eda decir \u201cBuild Succeeded\u201d.<br \/>\nSi queremos correr la aplicaci\u00f3n seleccionamos el bot\u00f3n de la esquina superior izquierda que dice \u201cRun\u201d o podemos tambi\u00e9n ir a <strong><em>Product &gt; Run<\/em><\/strong>, o presionar el atajo <strong><em>Command+R<\/em><\/strong>. Xcode compila y corre el programa (no es necesario compilar y correr manualmente, xcode compila siempre antes de correr).<br \/>\nEn la parte inferior de la ventana veremos que apareci\u00f3 un panel, este contiene a la consola del lado derecho.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1129 size-full\" src=\"https:\/\/ctrl-x.com.mx\/ctrlx\/wp-content\/uploads\/2014\/06\/8iN5Yr5.jpg\" alt=\"\" width=\"800\" height=\"563\" \/><br \/>\nLuego de correr la aplicaci\u00f3n deber\u00eda decir:<\/p>\n<div id=\"crayon-538cb210c53e4408802728\" class=\"crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate\" style=\"float: none; clear: both; font-size: 12px ! important; line-height: 15px ! important; height: auto;\" data-settings=\" minimize scroll-mouseover\">\n<div class=\"crayon-plain-wrap\"><textarea class=\"crayon-plain print-no\" style=\"-moz-tab-size: 4; font-size: 12px ! important; line-height: 15px ! important; opacity: 0; overflow: hidden; z-index: 0;\" readonly=\"readonly\" wrap=\"soft\" data-settings=\"\">&gt; Ejemplo 1 &#8211; Objective-C[3812:303] Hello, World!<\/textarea><\/div>\n<div class=\"crayon-main\" style=\"position: relative; z-index: 1; overflow: hidden;\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\" style=\"font-size: 12px !important; line-height: 15px !important;\">\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c53e4408802728-1\">1<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\" style=\"font-size: 12px !important; line-height: 15px !important;\">\n<div id=\"crayon-538cb210c53e4408802728-1\" class=\"crayon-line\"><span class=\"crayon-o\">&gt;<\/span><span class=\"crayon-i\">Ejemplo<\/span><span class=\"crayon-cn\">1<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-i\">Objective<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">C<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-cn\">3812<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-cn\">303<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-i\">Hello<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-i\">World<\/span><span class=\"crayon-o\">!<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Este es el mensaje que mandamos a imprimir con NSLog.<\/p>\n<h3>Variables<\/h3>\n<p>Todas las variables en Objective-C se declaran igual que en C. La estructura de la definici\u00f3n es la siguiente:<\/p>\n<div id=\"crayon-538cb210c53ed346497967\" class=\"crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate\" style=\"float: none; clear: both; font-size: 12px ! important; line-height: 15px ! important; height: auto;\" data-settings=\" minimize scroll-mouseover\">\n<div class=\"crayon-plain-wrap\"><textarea class=\"crayon-plain print-no\" style=\"-moz-tab-size: 4; font-size: 12px ! important; line-height: 15px ! important; opacity: 0; z-index: 0; overflow: hidden;\" readonly=\"readonly\" wrap=\"soft\" data-settings=\"\">int myVariable = 10;<\/textarea><\/div>\n<div class=\"crayon-main\" style=\"position: relative; z-index: 1; overflow: hidden;\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\" style=\"font-size: 12px !important; line-height: 15px !important;\">\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c53ed346497967-1\">1<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\" style=\"font-size: 12px !important; line-height: 15px !important;\">\n<div id=\"crayon-538cb210c53ed346497967-1\" class=\"crayon-line\"><span class=\"crayon-t\">int<\/span><span class=\"crayon-v\">myVariable<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-cn\">10<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div class=\"alert alert-success\">tipoDeDato NombreDeVariable = Valor;<\/div>\n<p>Los tipos de dato primitivos en Objective-C son los mismos que en C solo que incluimos uno m\u00e1s:<\/p>\n<ul>\n<li><strong>int<\/strong>: para numeros enteros<\/li>\n<li><strong>float<\/strong>: para puntos flotante (valores con decimales)<\/li>\n<li><strong>double<\/strong>: un punto flotante de mayor precisi\u00f3n (dobla la cantidad de decimales de float)<\/li>\n<li><strong>char<\/strong>: para carateres simples<\/li>\n<li><strong>BOOL<\/strong>: este es el que incluimos que no tenia C, es para valores booleanos (verdadero o falso, en objective-C: YES o NO)<\/li>\n<\/ul>\n<h3>Condicionales<\/h3>\n<p>Los condicionales tambi\u00e9n son id\u00e9nticos a los de C:<\/p>\n<div id=\"crayon-538cb210c53f7045720572\" class=\"crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate\" style=\"float: none; clear: both; font-size: 12px ! important; line-height: 15px ! important; height: auto;\" data-settings=\" minimize scroll-mouseover\">\n<div class=\"crayon-plain-wrap\"><textarea class=\"crayon-plain print-no\" style=\"-moz-tab-size: 4; font-size: 12px ! important; line-height: 15px ! important; opacity: 0; overflow: hidden; z-index: 0;\" readonly=\"readonly\" wrap=\"soft\" data-settings=\"\">if (a == b) {&lt;br \/&gt;<br \/>\n    \/\/ this&#8230;&lt;br \/&gt;<br \/>\n}&lt;br \/&gt;<br \/>\nelse {&lt;br \/&gt;<br \/>\n    \/\/ that&#8230;&lt;br \/&gt;<br \/>\n}<\/textarea><\/div>\n<div class=\"crayon-main\" style=\"position: relative; z-index: 1; overflow: hidden;\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\" style=\"font-size: 12px !important; line-height: 15px !important;\">\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c53f7045720572-1\">1<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c53f7045720572-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c53f7045720572-3\">3<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c53f7045720572-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c53f7045720572-5\">5<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c53f7045720572-6\">6<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\" style=\"font-size: 12px !important; line-height: 15px !important;\">\n<div id=\"crayon-538cb210c53f7045720572-1\" class=\"crayon-line\"><span class=\"crayon-st\">if<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">a<\/span><span class=\"crayon-o\">==<\/span><span class=\"crayon-i\">b<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-538cb210c53f7045720572-2\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-c\">\/\/ this&#8230;<\/span><\/div>\n<div id=\"crayon-538cb210c53f7045720572-3\" class=\"crayon-line\"><span class=\"crayon-sy\">}<\/span><\/div>\n<div id=\"crayon-538cb210c53f7045720572-4\" class=\"crayon-line\"><span class=\"crayon-st\">else<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-538cb210c53f7045720572-5\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-c\">\/\/ that&#8230;<\/span><\/div>\n<div id=\"crayon-538cb210c53f7045720572-6\" class=\"crayon-line\"><span class=\"crayon-sy\">}<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div id=\"crayon-538cb210c5401704409087\" class=\"crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate\" style=\"float: none; clear: both; font-size: 12px ! important; line-height: 15px ! important; height: auto;\" data-settings=\" minimize scroll-mouseover\">\n<div class=\"crayon-plain-wrap\"><textarea class=\"crayon-plain print-no\" style=\"-moz-tab-size: 4; font-size: 12px ! important; line-height: 15px ! important; opacity: 0; overflow: hidden; z-index: 0;\" readonly=\"readonly\" wrap=\"soft\" data-settings=\"\">switch (numbers) {&lt;br \/&gt;<br \/>\n    case 1:&lt;br \/&gt;<br \/>\n        \/\/ something&lt;br \/&gt;<br \/>\n        break;&lt;br \/&gt;<br \/>\n    case 2:&lt;br \/&gt;<br \/>\n        \/\/ other something&lt;br \/&gt;<br \/>\n        break;&lt;\/p&gt;<br \/>\n&lt;p&gt;    default:&lt;br \/&gt;<br \/>\n        \/\/ none of the above&lt;br \/&gt;<br \/>\n        break;&lt;br \/&gt;<br \/>\n}<\/textarea><\/div>\n<div class=\"crayon-main\" style=\"position: relative; z-index: 1; overflow: hidden;\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\" style=\"font-size: 12px !important; line-height: 15px !important;\">\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c5401704409087-1\">1<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c5401704409087-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c5401704409087-3\">3<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c5401704409087-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c5401704409087-5\">5<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c5401704409087-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c5401704409087-7\">7<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c5401704409087-8\">8<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c5401704409087-9\">9<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c5401704409087-10\">10<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c5401704409087-11\">11<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c5401704409087-12\">12<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\" style=\"font-size: 12px !important; line-height: 15px !important;\">\n<div id=\"crayon-538cb210c5401704409087-1\" class=\"crayon-line\"><span class=\"crayon-st\">switch<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-i\">numbers<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-538cb210c5401704409087-2\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-st\">case<\/span><span class=\"crayon-cn\">1<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div id=\"crayon-538cb210c5401704409087-3\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-c\">\/\/ something<\/span><\/div>\n<div id=\"crayon-538cb210c5401704409087-4\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-st\">break<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-538cb210c5401704409087-5\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-st\">case<\/span><span class=\"crayon-cn\">2<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div id=\"crayon-538cb210c5401704409087-6\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-c\">\/\/ other something<\/span><\/div>\n<div id=\"crayon-538cb210c5401704409087-7\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-st\">break<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-538cb210c5401704409087-8\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><\/div>\n<div id=\"crayon-538cb210c5401704409087-9\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-st\">default<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div id=\"crayon-538cb210c5401704409087-10\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-c\">\/\/ none of the above<\/span><\/div>\n<div id=\"crayon-538cb210c5401704409087-11\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-st\">break<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-538cb210c5401704409087-12\" class=\"crayon-line\"><span class=\"crayon-sy\">}<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h3>Ciclos<\/h3>\n<p>Igualmente los mismo de C:<\/p>\n<div id=\"crayon-538cb210c540b162899495\" class=\"crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate\" style=\"float: none; clear: both; font-size: 12px ! important; line-height: 15px ! important; height: auto;\" data-settings=\" minimize scroll-mouseover\">\n<div class=\"crayon-plain-wrap\"><textarea class=\"crayon-plain print-no\" style=\"-moz-tab-size: 4; font-size: 12px ! important; line-height: 15px ! important; opacity: 0; overflow: hidden; z-index: 0;\" readonly=\"readonly\" wrap=\"soft\" data-settings=\"\">do {&lt;br \/&gt;<br \/>\n   \/\/ something&lt;br \/&gt;<br \/>\n} while (a &gt; b);<\/textarea><\/div>\n<div class=\"crayon-main\" style=\"position: relative; z-index: 1; overflow: hidden;\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\" style=\"font-size: 12px !important; line-height: 15px !important;\">\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c540b162899495-1\">1<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c540b162899495-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c540b162899495-3\">3<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\" style=\"font-size: 12px !important; line-height: 15px !important;\">\n<div id=\"crayon-538cb210c540b162899495-1\" class=\"crayon-line\"><span class=\"crayon-st\">do<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-538cb210c540b162899495-2\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-c\">\/\/ something<\/span><\/div>\n<div id=\"crayon-538cb210c540b162899495-3\" class=\"crayon-line\"><span class=\"crayon-sy\">}<\/span><span class=\"crayon-st\">while<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-i\">a<\/span><span class=\"crayon-o\">&gt;<\/span><span class=\"crayon-i\">b<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div id=\"crayon-538cb210c5415425666932\" class=\"crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate\" style=\"float: none; clear: both; font-size: 12px ! important; line-height: 15px ! important; height: auto;\" data-settings=\" minimize scroll-mouseover\">\n<div class=\"crayon-plain-wrap\"><textarea class=\"crayon-plain print-no\" style=\"-moz-tab-size: 4; font-size: 12px ! important; line-height: 15px ! important; opacity: 0; overflow: hidden; z-index: 0;\" readonly=\"readonly\" wrap=\"soft\" data-settings=\"\">while (a &gt; b) {&lt;br \/&gt;<br \/>\n    \/\/ loop&lt;br \/&gt;<br \/>\n}<\/textarea><\/div>\n<div class=\"crayon-main\" style=\"position: relative; z-index: 1; overflow: hidden;\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\" style=\"font-size: 12px !important; line-height: 15px !important;\">\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c5415425666932-1\">1<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c5415425666932-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c5415425666932-3\">3<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\" style=\"font-size: 12px !important; line-height: 15px !important;\">\n<div id=\"crayon-538cb210c5415425666932-1\" class=\"crayon-line\"><span class=\"crayon-st\">while<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-i\">a<\/span><span class=\"crayon-o\">&gt;<\/span><span class=\"crayon-i\">b<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-538cb210c5415425666932-2\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-c\">\/\/ loop<\/span><\/div>\n<div id=\"crayon-538cb210c5415425666932-3\" class=\"crayon-line\"><span class=\"crayon-sy\">}<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div id=\"crayon-538cb210c541e137469543\" class=\"crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate\" style=\"float: none; clear: both; font-size: 12px ! important; line-height: 15px ! important; height: auto;\" data-settings=\" minimize scroll-mouseover\">\n<div class=\"crayon-plain-wrap\"><textarea class=\"crayon-plain print-no\" style=\"-moz-tab-size: 4; font-size: 12px ! important; line-height: 15px ! important; opacity: 0; overflow: hidden; z-index: 0;\" readonly=\"readonly\" wrap=\"soft\" data-settings=\"\">for (int i = 0; i &amp;lt; 10; i++) {&lt;br \/&gt;<br \/>\n    \/\/ loop&lt;br \/&gt;<br \/>\n}<\/textarea><\/div>\n<div class=\"crayon-main\" style=\"position: relative; z-index: 1; overflow: hidden;\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\" style=\"font-size: 12px !important; line-height: 15px !important;\">\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c541e137469543-1\">1<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c541e137469543-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c541e137469543-3\">3<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\" style=\"font-size: 12px !important; line-height: 15px !important;\">\n<div id=\"crayon-538cb210c541e137469543-1\" class=\"crayon-line\"><span class=\"crayon-st\">for<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-t\">int<\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">;<\/span><span class=\"crayon-i\">i<\/span><span class=\"crayon-o\">&amp;<\/span><span class=\"crayon-i\">lt<\/span><span class=\"crayon-sy\">;<\/span><span class=\"crayon-cn\">10<\/span><span class=\"crayon-sy\">;<\/span><span class=\"crayon-i\">i<\/span><span class=\"crayon-o\">++<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-538cb210c541e137469543-2\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-c\">\/\/ loop<\/span><\/div>\n<div id=\"crayon-538cb210c541e137469543-3\" class=\"crayon-line\"><span class=\"crayon-sy\">}<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Incluimos uno m\u00e1s que es el <em>\u201cFor In\u201d<\/em> o <em>\u201cFor each\u201d<\/em>:<\/p>\n<div id=\"crayon-538cb210c5427743645930\" class=\"crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-pc print-yes notranslate\" style=\"float: none; clear: both; font-size: 12px ! important; line-height: 15px ! important; height: auto;\" data-settings=\" minimize scroll-mouseover\">\n<div class=\"crayon-plain-wrap\"><textarea class=\"crayon-plain print-no\" style=\"-moz-tab-size: 4; font-size: 12px ! important; line-height: 15px ! important; z-index: 0; opacity: 0; overflow: hidden;\" readonly=\"readonly\" wrap=\"soft\" data-settings=\"\">for (NSString *name in users) {&lt;br \/&gt;<br \/>\n    \/\/ do something with the user&lt;br \/&gt;<br \/>\n}<\/textarea><\/div>\n<div class=\"crayon-main\" style=\"position: relative; z-index: 1; overflow: hidden;\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\" style=\"font-size: 12px !important; line-height: 15px !important;\">\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c5427743645930-1\">1<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c5427743645930-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-538cb210c5427743645930-3\">3<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\" style=\"font-size: 12px !important; line-height: 15px !important;\">\n<div id=\"crayon-538cb210c5427743645930-1\" class=\"crayon-line\"><span class=\"crayon-st\">for<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-e \">NSString *<\/span><span class=\"crayon-e\">name <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-i\">users<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-538cb210c5427743645930-2\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-c\">\/\/ do something with the user<\/span><\/div>\n<div id=\"crayon-538cb210c5427743645930-3\" class=\"crayon-line\"><span class=\"crayon-sy\">}<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Este es para recorrer colecciones de objetos, m\u00e1s adelante los explicar\u00e9 con detalle.<\/p>\n<hr \/>\n<h2>Conclusi\u00f3n<\/h2>\n<p>Hasta ahora lo que hemos visto de Objective-C no es muy diferente de C. En el pr\u00f3ximo capitulo hablaremos de operadores, numeros, strings (cadenas de caracteres), enumeradores, entre otras cosas antes de introducirnos a la orientaci\u00f3n a objetos.<br \/>\n&nbsp;<\/p>\n<pre><\/pre>\n<pre><span style=\"color: #c0c0c0;\">Fuente:http:\/\/codehero.co<\/span><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Bienvenido a esta nueva serie que se estar\u00e1 presentando alternativamente a la serie \u201ciOS desde Cero\u201d, para fortalecer las bases que te har\u00e1n entender mejor y desarrollar aplicaciones m\u00e1s robustas, tanto para Mac OS X como para iOS. Visto en: Apple\u2019s WWDC June 2nd LIVE Coverage &nbsp; Historia Hace 41 a\u00f1os atr\u00e1s (1972) nace el&hellip; <a class=\"more-link\" href=\"https:\/\/ctrl-x.com.mx\/ctrlx\/objective-c-conceptos-basicos\/\">Seguir leyendo <span class=\"screen-reader-text\">Objective-C  (Conceptos B\u00e1sicos )<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":1130,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,11,30,54],"tags":[429,2914,3038,3603,4108],"class_list":["post-1126","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","category-codigo-fuente-2","category-internet","category-tecnologia","tag-apples-wwdc-june-2nd-live-coverage","tag-lenguaje","tag-mac","tag-objective-c","tag-programacion","entry"],"_links":{"self":[{"href":"https:\/\/ctrl-x.com.mx\/ctrlx\/wp-json\/wp\/v2\/posts\/1126","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ctrl-x.com.mx\/ctrlx\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ctrl-x.com.mx\/ctrlx\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ctrl-x.com.mx\/ctrlx\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ctrl-x.com.mx\/ctrlx\/wp-json\/wp\/v2\/comments?post=1126"}],"version-history":[{"count":0,"href":"https:\/\/ctrl-x.com.mx\/ctrlx\/wp-json\/wp\/v2\/posts\/1126\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ctrl-x.com.mx\/ctrlx\/wp-json\/"}],"wp:attachment":[{"href":"https:\/\/ctrl-x.com.mx\/ctrlx\/wp-json\/wp\/v2\/media?parent=1126"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ctrl-x.com.mx\/ctrlx\/wp-json\/wp\/v2\/categories?post=1126"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ctrl-x.com.mx\/ctrlx\/wp-json\/wp\/v2\/tags?post=1126"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}