Arquivo Julho de 2010


Muito curto trecho: NSURL e várias possível

Retorna o nome de um arquivo a partir do objeto NSURLRequest , permitindo-lhe decidir se quer ou não a sua extensão:

Leia mais ...

Saidmade restyling: muitos serviços em mais

Depois de dias de trabalho "cansativo", temos finalmente lançou a nova versão do "negócio" site saidmade.com ! Foi difícil, também porque inicialmente queríamos consertar algumas coisas, mas depois - no final - por causa do estigma precisão maníaca directamente interessados, estamos reunidos para realizar um remake de verdade todo o site. Você pode encontrar todas as novidades diretamente no interior do novo blogue ! Deixe-me listar algumas mudanças importantes, além do restyling:

  • Reorganização de todo o conteúdo
  • Capacidade de registrar (grátis) o acesso ao site de bônus, downloads e visualizações de áreas restritas
  • Junte-se a Newsletter
  • Integração do Blog (bye bye laboratórios)
  • e mais ...
  • Leia mais ...

Muito curto trecho: obter o número de posts, Page e Anexo

Como muitos de vocês sabem bem, os mesa wp_posts é usado para armazenar os post do WordPress, páginas e anexos. O tipo de item armazenado é determinado pelo campo post_type . . Com select a proposta abaixo, você pode "contar" individualmente os vários tipos de elementos em memrizzate wp_posts .

Leia mais ...

Muito curto trecho: gravar uma imagem no álbum de fotos

Uma maneira fácil de guardar uma imagem na foto do interior do nosso dispositivo de aplicação (ou carregados remotamente):

Leia mais ...

NSURLConnection: Exemplo de utilização

NSURLConnection permite realizar uma cotrollata ligação a um servidor remoto. Para usá-lo:

1
2
3
4
5
6
7
8
9
10
11
/ / Os objectos suficiente para realizar uma 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]];
/ / O delegado irá responder a estados de conexão
NSURLConnection alloc ] initWithRequest : urlRequest delegate : self ] ; URLConnection = [[ NSURLConnection alloc] initWithRequest: urlRequest delegado: auto];

Aqui estão os métodos de delegado para verificar o status da conexão:

[Cc_objc]

Leia mais ...

Muito curto trecho: Objective-C, Selector de NSString

Objective-C é uma linguagem maravilhosa que permite-lhe fazer coisas incríveis. Um dos aspectos mais interessantes é a sua chamada dinâmica de métodos (mensagens). É possível, de facto, para obter o endereço de uma mensagem de uma corda.

Leia mais ...

Muito curto trecho: UIWebView, e exibir arquivos PDF dentro

O objecto UIWebView pode ser usado para a exibição de numerosos arquivos. Por exemplo, você pode usá-lo para exibir - assim como filmes QuickTime ou do YouTube - arquivos PDF ou HTML em nosso próprio código.

Leia mais ...

NSString

NSString é uma classe muito poderosa, deixe-me mostrar-lhe algumas das propriedades mais utilizados:

printf ()

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

Execute o split ()

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

Converter de string para valor

1
2
3
/ / Convertendo
doubleString = @ "123" ; NSString * doubleString @ = "123";
[ doubleString doubleValue ] ; valor duplo = [doubleString doubleValue];

Dentro de uma seqüência

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

beginsTest = @ "Agencies" ; NSString * beginsTest @ = "agências";
[ beginsTest rangeOfString : searchString NSRange prefixRange = [beginsTest rangeOfString: searchString
NSAnchoredSearch | NSCaseInsensitiveSearch ) ] ; opções: (NSAnchoredSearch | NSCaseInsensitiveSearch)];

/ / PrefixRange = {0, 3}

endsTest = @ "BRICOLAGE" ; NSString * endsTest = @ "DIY";
[ endsTest rangeOfString : searchString NSRange suffixRange = [endsTest rangeOfString: searchString
NSAnchoredSearch | NSCaseInsensitiveSearch | NSBackwardsSearch ) ] ; opções: (NSAnchoredSearch | NSCaseInsensitiveSearch | NSBackwardsSearch)];

/ / SuffixRange = {6, 3}

Leia mais ...

Muito curto trecho: compor e-mails para um iPhone, iPod ou iPad

Para compor um e-mail no iPhone / iPod basta adicionar o quadro MessageUI . No nosso controlador para entrar a inclusão do quadro e aplicar o protocolo MFMailComposeViewControllerDelegate :

Leia mais ...

Objective-C métodos de classe e alloc auto

davanti al prototipo, tipo: Quando definir e usar métodos (mensagens) em Objective-C, que são frequentemente confrontados com a sintaxe curiosa que mostra um sinal - ou + na frente do protótipo, digite:

1
2
3
4
5
6
7
/ / Na definição
void ) mioMessaggio; - (Void) mioMessaggio;

/ / Da mesma forma, na aplicação
void ) mioMessaggio { - (Void) {mioMessaggio
/ / ...
}

Ou:

1
2
3
4
5
6
7
/ / Na definição
void ) mioMessaggio; + (Void) mioMessaggio;

/ / Da mesma forma, na aplicação
void ) mioMessaggio { + (Void) {mioMessaggio
/ / ...
}

A diferença reside no facto de que os métodos definidos pelo símbolo - são métodos, por exemplo, e, em seguida, ligado a um objecto. Os métodos definidos pelo símbolo + são chamados de métodos de classe, como pode ser realizada sem alocação e instanciar o objeto em questão.

sono due classi, molto usate, che contengono svariati metodi di classe. NSString ou UIView duas classes, amplamente utilizado, que contêm vários métodos da classe. Métodos de classe são usados ​​constantemente, como quando inicializar ou atribuir qualquer objeto:

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

O método alloc é um exemplo clássico, presente em todos os objectos e, como evidenciado pelo código, é um método de classe tal como reivindicado antes da aplicação do próprio objecto.

Métodos de classe pode ser útil em muitos casos, particularmente quando criamos nosso objeto e queremos alocar e inicializar-lo em menos linhas de código possível. Imagine ter que recolher uma matriz em um conjunto de objetos definidos por nós. Nós definimos o nosso primeiro objeto, escrever o código da forma mais simples, sem usar os métodos da classe:

1
2
3
4
5
6
7
8
9
10
/ DEFINIÇÃO / a interface em myObject.h
# Importar <Foundation/Foundation.h>

NSObject { @ Interface myObject: NSObject {
name; NSString * nome;
lastname; NSString * sobrenome;
}

nonatomic, retain ) NSString * name; @ Property (nonatomic, reter) NSString * nome;
nonatomic, retain ) NSString * lastname; @ Property (nonatomic, reter) NSString * apelido;

A aplicação, no caso mais simples, pode ser nada ou:

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

# Importar "myObject.h"
@ Implementação myObject

@ Name sintetizar, sobrenome;

void ) dealloc { - (Void) {dealloc
; [Lançamento Nome];
; [Lançamento Lastname];
; [Super dealloc];
}

Quando é que vamos usar o nosso objeto, podemos usar código como este:

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

Se quiséssemos criar muitos objetos deste tipo, e colocá-los em um NSArray , a situação torna-se um pouco estranho:

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

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

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

; [ObjA release];
; [ObjB release];

per aggiungere man mano gli oggetti nel nostro elenco. Poderia melhorar o código criando um loop for ou usando um NSMutableArray adicionar como objetos em nosso diretório. . No entanto, o migliorebbe situação um pouco, ocasionalmente permanecer fora as configurações de propriedade name e lastname . Seria, então, espontânea, para começar, adicione um método - objeto - initWithName que lhe permitem saltar para as configurações de propriedade, as coisas semplificandoci um pouco. No arquivo de implementação myObject.m acrescentar:

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

Ao fazer isso, temos melhorado a situação, eles podem agora escrever:

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

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

; [ObjA release];
; [ObjB release];

, necessari per l'inserimento nell'array e liberare la memoria. Abbiammo ainda assim ponteiros objA e objB , necessários para a entrada na matriz e memória livre. Desejando que pudéssemos entrar directamente na criação de um objeto em preencher a matriz, com autorelease de memória livre, mas o código ainda não ocioso. Deixe-me demonstrar como resolver o problema com um método de classe. Primeiro de tudo, substituir o nosso - (id)initWidthName com:

1
2
3
4
5
6
7
8
9
10
id ) initWithName : ( NSString * ) name lastname : ( NSString * ) lastname { + InitWithName (Id): ( NSString *) lastname nome: ( NSString *) {apelido
myObject * item;

item = [ [ self alloc ] init ] ) { if (item = [[auto alloc] init]) {
/ / Init
item.name = nome;
item.lastname = sobrenome;
}
item autorelease ] ; retorno [item autorelease];
}

Ao fazer isso, criamos um método de classe que aloca (em autorelase) e iniziallizza nosso assunto, antes que você tenha o ponteiro para a instância. O código usado é então:

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

Muito, muito melhor ...

Leia mais ...



Pare SOPA