Archivo de Julio, 2010


Fragmento muy breve: NSURL, y varias posibles

Devuelve el nombre de un archivo del objeto NSURLRequest , lo que le permite decidir si desea o no su extensión:

Continuación ...

Saidmade rediseño: muchos más servicios

Después de días de "agotar" el trabajo, por fin hemos lanzado la nueva versión del sitio de "negocio" saidmade.com ! Era difícil, también porque inicialmente queríamos arreglar algunas cosas, pero luego - el tiempo - debido a la precisión maníaca afecta a las personas que están directamente interesados, nos hemos reunido para realizar un remake de cierto en todo el sitio. Usted puede encontrar todas las noticias directamente en su nuevo blog ! Permítanme enumerar algunos adición importante nuevo restyling:

  • Reorganización de todo el contenido
  • Capacidad de registro (gratuito) el acceso al sitio de descargas de bonificación y vistas previas de las áreas restringidas
  • Suscripción al boletín
  • Integración de los blog (adiós laboratorios)
  • y más ...
  • Continuación ...

Fragmento muy breve: obtener el número de puestos de trabajo, Page y Adjunto

¿Cuántos de ustedes saben, la mesa wp_posts se utiliza para almacenar el mensaje de WordPress, las páginas y archivos adjuntos. El tipo de elemento almacenado es determinada por el campo post_type . . Con select se proponen a continuación, puede "contar" de forma individual los distintos tipos de elementos en memrizzate wp_posts .

Continuación ...

Fragmento muy breve: grabar una imagen en el álbum de fotos

Manera fácil de guardar una imagen en el álbum de fotos del dispositivo en el interior de nuestra aplicación (o cargado a distancia):

Continuación ...

NSURLConnection: Ejemplo de uso

NSURLConnection permite controlar desde una conexión a un servidor remoto. Para usarlo, simplemente:

1
2
3
4
5
6
7
8
9
10
11
/ / Los objetos suficientes para realizar una NSURLConnection
urlConnection; NSURLConnection * URLConnection;
mutableData; NSMutableData mutableData *;

/ / ...

urlString = @ "http://www.miodominio.com/documento.txt" ; NSString * urlString @ = "http://www.miodominio.com/documento.txt";

urlRequest = [ NSURLRequest requestWithURL : [ NSURL URLWithString : urlString ] ] ; NSURLRequest URLRequest = * [ NSURLRequest requestWithURL: [ NSURL URLWithString: urlString]];
/ / El delegado responderá a los estados de la conexión
NSURLConnection alloc ] initWithRequest : urlRequest delegate : self ] ; URLConnection = [[ NSURLConnection alloc] initWithRequest: delegado URLRequest: auto];

Aquí están los métodos de delegado para comprobar el estado de la conexión:

[Cc_objc]

Continuación ...

Fragmento muy breve: Objective-C NSString de Selector

Objective-C es un lenguaje maravilloso que te permite hacer cosas asombrosas. Uno de los aspectos más interesantes es su invocación dinámica de métodos (mensajes). Puede, de hecho, obtener la dirección de un mensaje de una cadena.

Continuación ...

Fragmento muy breve: UIWebView, y visualizar archivos PDF en el interior

El objeto UIWebView se puede utilizar para mostrar varios archivos. Por ejemplo, usted puede utilizar para mostrar -, así como películas de QuickTime o YouTube - PDF o un archivo HTML incluido en nuestro código.

Continuación ...

NSString

NSString es una clase poderosa, déjame mostrarte algunas de las propiedades más utilizadas:

printf ()

1
2
/ / Printf ()
output = [ NSString stringWithFormat : @ "%@ / %@" , @ "primo" , @ "secondo" ] ; NSString * salida = [ NSString stringWithFormat: @ "% @ /% @", @ "primero", @ "segundo"];

Ejecutar el split ()

1
2
3
/ / Split () / explode ()
list = @ "Norman, Stanley, Fletcher" ; NSString * list = @ "Norman Stanley Fletcher";
listItems = [ list componentsSeparatedByString : @ ", " ] ; NSArray ListItems * = [lista componentsSeparatedByString: @ ""];

Convertir de cadena a valor

1
2
3
/ / Convertir
doubleString = @ "123" ; NSString * @ DoubleString = "123";
[ doubleString doubleValue ] ; doble valor = [DoubleString doubleValue];

Dentro de una cadena

1
2
3
4
5
6
7
8
9
10
11
12
13
14
/ / Subcadena
searchString = @ "age" ; NSString * @ SearchString = "edad";

beginsTest = @ "Agencies" ; NSString * beginsTest @ = "Agencias";
[ beginsTest rangeOfString : searchString NSRange prefixRange = [beginsTest rangeOfString: SearchString
NSAnchoredSearch | NSCaseInsensitiveSearch ) ] ; opciones: (NSAnchoredSearch | NSCaseInsensitiveSearch)];

/ / PrefixRange = {0, 3}

endsTest = @ "BRICOLAGE" ; NSString * endsTest = @ "hágalo usted mismo";
[ endsTest rangeOfString : searchString NSRange suffixRange = [endsTest rangeOfString: SearchString
NSAnchoredSearch | NSCaseInsensitiveSearch | NSBackwardsSearch ) ] ; opciones: (NSAnchoredSearch | NSCaseInsensitiveSearch | NSBackwardsSearch)];

/ / SuffixRange = {6, 3}

Continuación ...

Fragmento muy breve: escribir correo en una aplicación para iPhone, iPod o iPad

Para redactar correo en una aplicación para iPhone / iPod Touch, sólo tiene que añadir el marco MessageUI . En nuestro controlador para entrar en la inclusión del marco y adoptar las PROTOCOLO MFMailComposeViewControllerDelegate :

Continuación ...

Objective-C y métodos de la clase ALLOC auto

davanti al prototipo, tipo: Al definir y utilizar los métodos (mensajes) en Objective-C, que a menudo se enfrentan con la sintaxis curioso que muestra un signo - o + en la parte frontal del prototipo, escriba:

1
2
3
4
5
6
7
/ / En la definición
void ) mioMessaggio; - (Void) mioMessaggio;

/ / Del mismo modo, en la aplicación
void ) mioMessaggio { - (Void) {mioMessaggio
/ / ...
}

O:

1
2
3
4
5
6
7
/ / En la definición
void ) mioMessaggio; + (Void) mioMessaggio;

/ / Del mismo modo, en la aplicación
void ) mioMessaggio { + (Void) {mioMessaggio
/ / ...
}

La diferencia es que los métodos definidos por el símbolo - son los métodos de instancia, a continuación, vinculado a un objeto. Los métodos definidos por el símbolo + se denominan métodos de la clase, ya que pueden llevarse a cabo sin asignar y una instancia del objeto en cuestión.

sono due classi, molto usate, che contengono svariati metodi di classe. NSString o UIView dos clases, ampliamente utilizado, que contienen varios métodos de clase. Los métodos de clase se usan continuamente, como cuando inicializar o asignar cualquier objeto:

1
[ UIView alloc ] ; MyView UIView * = [UIView alloc];

El método alloc es un ejemplo clásico, presente en todos los objetos y, como es evidente por el código, un método de clase es invocada como antes de la asignación del objeto en sí.

Los métodos de clase pueden ser útiles en muchos casos, sobre todo cuando creamos nuestro objeto y queremos asignar e inicializar en menos líneas de código posible. Imagine tener que recoger un número en una matriz de objetos definidos por nosotros. Definimos nuestro objeto, en primer lugar, escribir el código en la forma más sencilla, sin necesidad de utilizar métodos de la clase:

1
2
3
4
5
6
7
8
9
10
/ / Define la interfaz myObject.h
# Importar <Foundation/Foundation.h>

NSObject { @ Interface myObject: NSObject {
name; NSString * nombre;
lastname; NSString * Apellido;
}

nonatomic, retain ) NSString * name; @ Propiedad (no atómica, retener) NSString * nombre;
nonatomic, retain ) NSString * lastname; @ Propiedad (no atómica, retener) NSString apellido *;

La puesta en práctica, en el caso más simple, nada podría ser:

1
2
3
4
5
6
7
8
9
10
11
12
/ / MyObject.m

# Import "myObject.h"
@ Implementación myObject

@ Name Sintetizar, apellido;

void ) dealloc { - (Void) {dealloc
; [La liberación] Nombre;
; [Comunicado de apellido];
; [Super dealloc];
}

Cuando se llega a utilizar nuestro objeto, vamos a utilizar un código como este:

1
2
3
[ myObject alloc ] ; myObject * obj = [myObject alloc];
"Mario" ; obj.name @ = "Juan";
"Rossi" ; obj.lastname @ = "Smith";

Si quisiéramos crear muchos objetos de este tipo, y colocarlos en una NSArray , la situación se vuelve un poco incómodo:

1
2
3
4
5
6
7
8
9
10
11
12
[ myObject alloc ] ; objA * myObject = [myObject alloc];
"Mario" ; objA.name @ = "Juan";
"Rossi" ; objA.lastname @ = "Smith";

[ myObject alloc ] ; objB * myObject = [myObject alloc];
"Carlo" ; objB.name @ = "Carlos";
"Bianchi" ; objB.lastname @ = "Smith";

elenco = [ NSArray arrayWithObjects : objA, objB, nil ] ; NSArray * lista = [ NSArray arrayWithObjects: objA, objB, nil];

; [ObjA liberación];
; [ObjB liberación];

per aggiungere man mano gli oggetti nel nostro elenco. Se podría mejorar el código mediante la creación de un bucle for o uso de un NSMutableArray añadir como objetos en nuestro directorio. . Sin embargo, la situación de los migliorebbe poco, cuando se quedan fuera de la propiedad de configuración name y lastname . Sería espontánea, para empezar, agregue un método - objeto - initWithName que le permiten saltar a la configuración de la propiedad, simplificando un poco las cosas. En el archivo de implementación myObject.m añadir:

1
2
3
4
5
6
7
id ) initWithName : ( NSString * ) stringName lastname : ( NSString * ) stringLastname { - (Id) initWithName: ( NSString *) Apellido StringName: ( NSString *) {stringLastname
self = [ super init ] ) { if (self = [super init]) {
self.name = StringName;
self.lastname = stringLastname;
}
cambio sí;
}

Al hacerlo, han mejorado la situación, ahora se puede escribir:

1
2
3
4
5
6
7
[ [ myObject alloc ] initWithName : @ "Mario" lastname : @ "Rossi" ] ; objA * myObject = [[myObject alloc] initWithName: @ "John" apellido: @ "Smith"];
[ [ myObject alloc ] initWithName : @ "Carlo" lastname : @ "Bianchi" ] ; objB * myObject = [[myObject alloc] initWithName: @ "Charles" apellido: @ "Smith"];

elenco = [ NSArray arrayWithObjects : objA, objB, nil ] ; NSArray * lista = [ NSArray arrayWithObjects: objA, objB, nil];

; [ObjA liberación];
; [ObjB liberación];

, necessari per l'inserimento nell'array e liberare la memoria. Sin embargo, todavía tienen punteros objA y objB , necesarios para la entrada de la matriz y la memoria libre. Deseando que se podía entrar directamente en la creación de un objeto que pueblan la matriz, utilizando autorelease para liberar memoria, pero el código todavía no inactivo. Permítanme demostrar cómo resolver el problema con un método de clase. Ante todo, reemplazar - (id)initWidthName con:

1
2
3
4
5
6
7
8
9
10
id ) initWithName : ( NSString * ) name lastname : ( NSString * ) lastname { + (Id) initWithName: ( NSString *) apellido nombre: ( NSString *) {lastname
* myObject tema;

item = [ [ self alloc ] init ] ) { if (elemento = [[ALLOC auto] init]) {
/ / Inicializa
item.name = nombre;
item.lastname = apellido;
}
item autorelease ] ; volver [tema autorelease];
}

Al hacerlo hemos creado un método de clase que se asigna (en autorelase) y, de hecho inició uno de los objetos, lo primero que tiene el puntero a la instancia. El código utilizado es entonces:

1
2
3
4
elenco = [ NSArray arrayWithObjects : NSArray * lista = [ NSArray arrayWithObjects:
@ "Mario" lastname : @ "Rossi" ] , [InitWithName MyObject: @ "John" apellido: @ "Smith"],
@ "Carlo" lastname : @ "Bianchi" ] , [InitWithName MyObject: @ "Charles" apellido: @ "Smith"],
; nil];

Mucho, mucho mejor ...

Continuación ...



Dejar de SOPA