Retorna o nome de um arquivo a partir do objeto NSURLRequest , permitindo-lhe decidir se quer ou não a sua extensão:
Arquivo Julho de 2010
Muito curto trecho: NSURL e várias possível
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 ...
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 .
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):
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]
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.
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.
NSString
NSString é uma classe muito poderosa, deixe-me mostrar-lhe algumas das propriedades mais utilizados:
printf ()
1 2 |
Execute o split ()
1 2 3 |
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} |
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 :
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 |
Muito, muito melhor ...







Últimos Comentários
Giovambattista Fazioli : @ Nik: Eu sou feliz! Boa sorte então!
Nik : Eu tenho exame segunda-feira informações sobre java, graças a mim você tem sido muito útil, o livro que eu não estava claro ...
Marcos : Muito obrigado, eu tenho aceso
Eu resolvi que por definição [cc_objc] OptionViewController.m / / - ...
Giovambattista Fazioli : @ Mark: Eu sugiro que você acha que uma abordagem mais correta. Se você executar a subclasse do guia ...
louis : muito clara e simples eu tenho que admitir que escrever um pouco pa usar delegados criados por ...