2011-03-11 2 views
24

Depuis XCode 4, il existe désormais une section Code Snippets qui propose les extraits via l'auto-complétion lors de la saisie. Je serais très intéressé par les extraits que vous avez tous stockés là-bas. Quels extraits vous font gagner le plus de temps (et pourquoi)?Des extraits courts et utiles d'Objective-C?

S'il vous plaît ne pas poster extraits réels (ce qui signifie qu'aucun snarky « ne avons pas besoin puants extraits », et non «j'aime des extraits qui font <XYZ> »), et des extraits qui sont seulement court et doux (ie pas plus de ~ 20 lignes au maximum ...). Si un extrait n'est pas utile, expliquez également pourquoi vous pensez que c'est le cas. ;)

+0

BTW, pourquoi ne puis-je pas marquer cette question en tant que wiki de communauté? – Epaga

+0

Le wiki communautaire en tant que concept a changé au fil du temps - vous ne pouvez plus simplement marquer une question comme wiki communautaire (bien que vous puissiez toujours étiqueter les réponses de cette manière). Cependant, un modérateur peut toujours effectuer cette modification si cela lui est demandé et si la question est jugée valide. –

+4

Je vais marquer cela comme CW, mais veuillez prendre soin de gérer cette question. Signalez l'aide si vous en avez besoin. Je vais le re-visiter dans quelques jours. Si cela commence à collecter du bruit, nous n'avons pas d'autre choix que de le fermer. –

Répondre

6

Je suis souvent l'ajout d'interfaces de classe privée avec des extensions de classe:

@interface <#ClassName#>() 
@end 

Cela permet de garder l'interface publique complètement libre de choses internes, surtout maintenant que nous pouvons avoir des propriétés purement synthétisés (example gist) .

10

Je ne sais pas si cela compte mais j'utilise toujours cet extrait chaque fois que j'ajoute un UITableView dans n'importe lequel de mes contrôleurs de vue.

- (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 ; 
} 

son très pratique si vous n'utilisez pas UITableViewController pour afficher le contenu de la table.

4

Il ne semble pas être une catégorie de classe entre les extraits d'usine:

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

bloc d'expédition sur la file d'attente actuelle après nombre donné de secondes:

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

Voici mes deux extraits de commentaire . Je les utilise beaucoup.

commentaire en-tête:

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

Sous commentaire:

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

Lors du débogage cet extrait est vraiment utile. Il vous permet de connaître le nom de la classe, le nom de la fonction et vous pouvez également ajouter vos commentaires.

NSLog(@"%s [Line %d] %@ ", __PRETTY_FUNCTION__, __LINE__,<#comment#>); 
+0

Je vous suggère d'ajouter la macro DLog à votre PCH à la place: http://stackoverflow.com/a/969291/3141234 – Alexander

0

J'ai aussi les méthodes du cycle de vie d'affichage standard dans mes extraits (qui se habituent tous les jours):

J'utilise le raccourci clavier vwun pour

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


} 

vdl pour viewDidLoad etc.