Quan escriviu un programa Objective-C per a les vostres aplicacions per a iPhone o Mac OS X, tot el que feu és proporcionar un conjunt d'instruccions perquè l'ordinador segueixi. Fonamentalment, els programes manipulen els números i el text, i tot plegat, un programa d'ordinador només té dues parts: variables (i altres estructures), que "retenen" les dades, i instruccions , que realitzen operacions sobre aquestes dades.
Fer una declaració Objective-C
Programar aplicacions per a iPhone i Mac a Objective-C consisteix a fer una declaració. Podeu reconèixer una afirmació a Objective-C immediatament anotant el punt i coma al final:
declaració;
Veureu altres línies de codi, però tret que la línia acabi amb un punt i coma, no és una instrucció Objective-C.
Objectiu-C Tipus de dades integrats i nous tipus de dades
Les variables que declareu a Objective-C, tipus de dades Objective-C, han de ser un tipus que el compilador pugui reconèixer. Objective-C inclou una sèrie de tipus de dades integrats, així com mecanismes per crear-ne de nous, per programar les aplicacions del vostre iPhone o Mac OS X.
Tipus incorporats
| Tipus |
Descripció |
Mida |
| char |
Un personatge |
1 byte |
| int |
Un nombre enter: un nombre sencer |
4 bytes |
| flotar |
Número de coma flotant de precisió única |
4 bytes |
| Doble |
Nombre de coma flotant de doble precisió |
8 bytes |
| curt |
Un nombre enter curt |
2 bytes |
| llarg |
Un doble curt |
4 bytes |
| llarg llarg |
Un llarg doble |
8 bytes |
| BOOL |
Booleà (caràcter signat) |
1 byte |
Tipus d'enumeració
enum typeName { identificador1, ... identificador};
Els identificadors són de constants de tipus int.
typedef
typedef identificador typeName;
Associa un identificador amb un tipus específic.
Constants
identificador de tipus const = valor;
#definir el valor de l'identificador
Permet definir noms per a constants.
Operadors Objective-C
Els operadors Objective-C, com els d'altres llenguatges de programació, us permeten realitzar operacions sobre variables (d'aquí el nom). Objective-C ofereix molts operadors, i fer un seguiment de tots ells pot ser difícil mentre programeu les vostres aplicacions per a iPhone o Mac OS X. Utilitzeu les taules següents per fer córrer la memòria sobre quin operador realitza quina tasca.
Operadors aritmètics
| Operador |
Què fa |
| + |
Addició |
| – |
Resta |
| * |
Multiplicació |
| / |
Divisió |
| % |
Mòdul |
Operadors relacionals i d'igualtat
| Operador |
Què fa |
| == |
Igual a |
| != |
No igual a |
| > |
Més gran que |
| < |
Menys que |
| >= |
Major o igual a |
| <= |
Menor o igual a |
Operadors lògics
| Operador |
Què fa |
| ! |
NO |
| && |
I lògic |
| || |
OR lògic |
Operadors d'assignació composta
| Operador |
Què fa |
| += |
Addició |
| -= |
Resta |
| *= |
Multiplicació |
| /= |
Divisió |
| %= |
Mòdul |
| &= |
I per bits |
| |= |
OR inclòs per bits |
| ^= |
OR exclusiu |
| <<= |
Canvi a l'esquerra |
| >>= |
Canvia a la dreta |
Operadors d'increment i disminució
| Operador |
Què fa |
| ++ |
Addició |
| — |
Resta |
| *= |
Multiplicació |
| /= |
Divisió |
| %= |
Mòdul |
| &= |
I per bits |
| |= |
OR inclòs per bits |
| ^= |
OR exclusiu |
| <<= |
Canvi a l'esquerra |
| >>= |
Canvia a la dreta |
Operadors bit a bit
| Operador |
Què fa |
| & |
I per bits |
| | |
OR inclòs per bits |
| ^ |
OR exclusiu |
| ~ |
Complement unari (inversió de bits) |
| << |
Canvi a l'esquerra |
| >> |
Canvia a la dreta |
Altres operadors
| Operador |
Què fa |
| () |
Cast |
| , |
coma |
| Mida de () |
Mida de |
| ? : |
Condicional |
| & |
adreça |
| * |
Direcció |
Sentències de control i bucles a Objective-C
A la programació, com a la vida, cal prendre decisions i actuar en conseqüència. Objective-C proporciona declaracions de control i bucles per ajudar el vostre programa a prendre mesures. És possible que vulgueu repetir un conjunt d'instruccions basades en alguna condició o estat, per exemple, o fins i tot canviar la seqüència d'execució del programa. Aquí teniu la sintaxi bàsica per a les declaracions i bucles de control Objective-C.
si una altra cosa
if (condició) {
declaració(s) si la condició és certa;
}
altrament {
declaració(s) si la condició no és certa;
}
per
per (comptador; condició; actualització comptador) {
declaració(s) a executar mentre la condició és certa;
}
per dins
for (Escriviu novaVariable a l' expressió ) {
declaració(s);
}
o
Escriviu variable existent;
for (existingVariable en expressió) {
declaració(s);
}
Expression és un objecte que s'ajusta al protocol NSFastEnumeration.
-
Una enumeració NSArray i NSSet supera el contingut.
-
Una enumeració de NSDictionary està sobre les claus.
-
Una enumeració NSManagedObjectModel és sobre entitats.
mentre
mentre (condició) {
declaració(s) que s'executaran mentre la condició sigui certa
}
Fer mentre
fer {
declaració(s) que s'executaran mentre la condició sigui certa
} mentre (condició);
Declaracions de salt
tornar;
Atura l'execució i torna a la funció de trucada.
trencar;
Deixa un bucle.
continuar;
Omet la resta del bucle i comença la següent iteració.
anar a labelName;
...
labelName:
Un salt absolut a un altre punt del programa (no l'utilitzeu).
sortir();
Finalitza el programa amb un codi de sortida.
Declaració de classes i enviament de missatges a Objective-C
Els llenguatges de programació orientats a objectes us permeten declarar classes, crear classes derivades (subclasse) i enviar missatges als objectes creats des d'una classe. Aquesta és l'essència de la programació orientada a objectes i part de les extensions orientades a objectes que Objective-C afegeix a C. Per garantir que tot funcioni sense problemes, hi ha disponibles directrius del compilador que us permeten informar al compilador de les vostres classes mitjançant @class. i #import.
Interfície
#import "Superclass.h"
@interface ClassName: Superclass {
declaracions de variables d'instància;
}
declaracions de mètodes
@property(atributs) declaració de variables d'instància;
–d
Implementació
#import "ClassName.h"
@implementation ClassName
@synthesize variable d'instància;
definicions de mètodes
–d
Sintaxi del missatge
[missatge del receptor]
#importar
#import "filename.h"
Garanteix que un fitxer de capçalera només s'inclourà una vegada.
@classe
@class ClassName;
Indica el compilador en tipus definits per l'usuari.