objective c - Breves y útiles fragmentos de Objective-C?
xcode code-snippets (9)
Desde XCode 4, ahora hay una sección de fragmentos de código que ofrece los fragmentos a través de autocompletar al escribir. Estaría muy interesado en fragmentos que todos ustedes hayan almacenado allí. ¿Qué fragmentos te ahorran más tiempo (y por qué)?
Solo publique fragmentos reales (lo que significa que no hay snarky "no es necesario que no haya fragmentos malolientes", y no "i love snippets que hacen <XYZ>"), y solo fragmentos que son cortos y dulces (es decir, no más de ~ 20 líneas como máximo...). Si un fragmento no es obviamente útil, también explica por qué crees que lo es. ;)
A menudo agrego interfaces de clase privadas con extensiones de clase:
@interface <#ClassName#> ()
@end
Esto es para mantener la interfaz pública completamente libre de cosas internas, especialmente ahora que podemos tener propiedades puramente sintetizadas ( gist de ejemplo ).
Aquí están mis dos fragmentos de comentarios. Los uso mucho.
Comentario de cabecera:
// ----------------------------------------------------------------------------------------------------------------
# pragma mark -
# pragma mark <#comment#>
# pragma mark -
// ----------------------------------------------------------------------------------------------------------------
Sub comentario:
// ----------------------------------------------------------------------------------------------------------------
// <#comment#>
// ----------------------------------------------------------------------------------------------------------------
Bloque de despacho en la cola actual después de un número dado de segundos:
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, <#seconds#>*1e9),
dispatch_get_current_queue(), <#block#>);
Este es el Blog, que he creado para el mismo propósito ...
Mientras que la depuración de este fragmento es realmente útil. Le permite saber el nombre de la clase, el nombre de la función y también puede agregar sus comentarios.
NSLog(@"%s [Line %d] %@ ", __PRETTY_FUNCTION__, __LINE__,<#comment#>);
No parece haber una categoría de clase entre los fragmentos de fábrica:
@interface <#ClassName#> (<#CategoryName#>)
@end
No si esto cuenta pero siempre uso este fragmento cada vez que agrego un UITableView
en cualquiera de mis controladores de vista.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if(cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle
reuseIdentifier:cellIdentifier];
// Do something here......................
}
// Do something here too .........................
return cell;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return ;
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return ;
}
es bastante útil si no está utilizando un UITableViewController
para mostrar el contenido de la tabla.
También tengo los métodos de ciclo de vida de vista estándar en mis fragmentos (que se utilizan a diario):
Yo uso el atajo de teclado v w a para
- (void) viewWillAppear:(BOOL)animated
{
[super viewWillAppear: animated];
}
v d l para viewDidLoad
etc.
Un par de colecciones están aquí:
https://github.com/mneorr/snippie/tree/master/backup
y aquí:
https://github.com/jad/xcode-code-snippets
que puedes pegar en esta carpeta:
~/Library/Developer/Xcode/UserData/CodeSnippets