2011-03-11 13 views
24

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 los fragmentos que todos han almacenado allí. ¿Qué fragmentos le ahorran más tiempo (y por qué)?Cortos y útiles fragmentos de Objective-C?

favor solamente publicar fragmentos reales (es decir, no snarky "no necesitan ningún guardia fragmentos", y no "i love fragmentos que hacen <XYZ>"), y sólo fragmentos que son corto y dulce (es decir, no más de ~ 20 líneas como máximo ...). Si un fragmento no es obviamente útil, también explique por qué cree que es. ;)

+0

Por cierto, ¿por qué no puedo marcar esta pregunta como wiki de la comunidad? – Epaga

+0

La wiki de la comunidad como concepto ha cambiado con el tiempo: ya no puede simplemente marcar una pregunta como wiki comunitario (aunque todavía puede etiquetar las respuestas de esta manera). Sin embargo, un moderador puede realizar este cambio si así lo solicita y si la pregunta se considera válida. –

+4

Voy a marcar esto como CW, pero por favor tenga cuidado de manejar esta pregunta. Marque para obtener ayuda si la necesita. Volveré a visitarlo en unos días. Si esto comienza a acumular ruido, no tenemos más remedio que cerrarlo. –

Respuesta

6

a menudo me añadiendo interfaces de clase privada con extensiones de clase:

@interface <#ClassName#>() 
@end 

Esto es para mantener la interfaz pública completamente libre de material interna, especialmente ahora que podemos tener propiedades puramente sintetizado (example gist) .

10

No sé si esto cuenta, pero siempre uso este fragmento cada vez que agregue 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 contenidos de la tabla.

4

No parece ser una categoría de clase entre los fragmentos de fábrica:

@interface <#ClassName#> (<#CategoryName#>) 
@end 
9

bloque de Despacho en la cola actual después de determinado número de segundos:

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, <#seconds#>*1e9), 
    dispatch_get_current_queue(), <#block#>); 
7

Aquí están mis dos fragmentos de comentario . Los uso mucho.

Cabecera comentario:

// ---------------------------------------------------------------------------------------------------------------- 
# pragma mark - 
# pragma mark <#comment#> 
# pragma mark - 
// ---------------------------------------------------------------------------------------------------------------- 

Sub comentario:

// ---------------------------------------------------------------------------------------------------------------- 
// <#comment#> 
// ---------------------------------------------------------------------------------------------------------------- 
5

Mientras se depura 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#>); 
+0

Le sugiero que agregue la macro DLog a su PCH: http://stackoverflow.com/a/969291/3141234 – Alexander

0

que también tienen los métodos estándar vista del ciclo de vida en mis fragmentos (que se acostumbran al día):

utilizo combinación de teclas vwun para

- (void) viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear: animated]; 


} 

vdl para viewDidLoad etc.

Cuestiones relacionadas