Short and useful Objective-C snippets?
Asked Answered
P

9

25

Since XCode 4, there is now a Code Snippets section which offers the snippets via auto-complete when typing. I'd be very interested in snippets you all have stored in there. What snippets save you the most time (and why)?

Please only post actual snippets (meaning no snarky "don't need no stinkin' snippets", and no "i love snippets that do <XYZ>"), and only snippets that are short and sweet (i.e. no more than ~20 lines at the most...). If a snippet is not obviously useful, also explain why you think it is. ;)

Papageno answered 11/3, 2011 at 7:42 Comment(8)
BTW, why can't i mark this question as community wiki?Papageno
Community wiki as a concept has changed over time - you can no longer simply mark a question as community wiki (although you can still tag answers in this way). However, a moderator can still make this change if requested to do so and if the question is deemed valid.Spectator
I'm going to mark this as CW, but please take care to manage this question. Flag for help if you need it. I'll re-visit it in a few days. If this starts collecting noise, we have no choice but to close it.Adachi
I've also made a minor edit to your question so that more protracted answers are invited.Adachi
just saw that. I put it back in :)Papageno
Great question! I haven't seen Xcode 4 yet and I'm on iOS at the moment, but I'll try to get to this one soon!Meyerhof
Well I suppose that people are not willing to give their secret formula while developing in objective-cFootstool
yeah so much for the "noise" :-/Papageno
F
10

I don't if this counts but I always use this snippet whenever I add a UITableView in any of my view controllers.

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

its quite handy if you are not using a UITableViewController to show table contents.

Footstool answered 11/3, 2011 at 7:42 Comment(0)
D
9

Dispatch block on the current queue after given number of seconds:

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, <#seconds#>*1e9),
    dispatch_get_current_queue(), <#block#>);
Dobbins answered 11/3, 2011 at 7:42 Comment(0)
F
7

Here are my two comment snippets. I use them a lot.

Header comment:

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

Sub comment:

// ----------------------------------------------------------------------------------------------------------------
//  <#comment#>
// ----------------------------------------------------------------------------------------------------------------
Fricandeau answered 11/3, 2011 at 7:42 Comment(0)
D
6

I’m often adding private class interfaces with class extensions:

@interface <#ClassName#> ()
@end

This is to keep the public interface completely free from internal stuff, especially now that we can have purely synthesized properties (example gist).

Dobbins answered 11/3, 2011 at 7:42 Comment(0)
C
5

While debugging this snippet is really useful. It let you know Class Name, Function Name and you can add your comments also.

NSLog(@"%s [Line %d] %@ ", __PRETTY_FUNCTION__, __LINE__,<#comment#>);
Citation answered 11/3, 2011 at 7:42 Comment(1)
I suggest you add the DLog macro to your PCH instead: https://mcmap.net/q/75141/-how-to-print-out-the-method-name-and-line-number-and-conditionally-disable-nslogAorangi
I
5

A couple of collections are here:

https://github.com/mneorr/snippie/tree/master/backup

and here:

https://github.com/jad/xcode-code-snippets

which you can stick in this folder:

~/Library/Developer/Xcode/UserData/CodeSnippets
Isiahisiahi answered 11/3, 2011 at 7:42 Comment(0)
P
4

This is the Blog, that I have created for the same purpose...

http://ios-funda.blogspot.in/

Profluent answered 11/3, 2011 at 7:42 Comment(0)
D
4

There does not seem to be a class category between the factory snippets:

@interface <#ClassName#> (<#CategoryName#>)
@end
Dobbins answered 11/3, 2011 at 7:42 Comment(0)
B
0

I also have the standard view lifecycle methods in my snippets (which get used daily):

I use keyboard shortcut vwa for

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


}

vdl for viewDidLoad etc.

Basil answered 11/3, 2011 at 7:42 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.