简短实用的Objective-C片段?

时间:2011-03-11 07:42:41

标签: objective-c xcode code-snippets xcode4

从XCode 4开始,现在有一个Code Snippets部分,在输入时通过自动完成提供片段。我对你们都存储在那里的片段非常感兴趣。哪些片段可以节省您最多的时间(以及为什么)?

请仅发布实际片段(意思是没有讽刺“不需要没有stinkin'片段”,并且没有“我喜欢做< XYZ>”的片段),只有片段是短而甜(即最多不超过~20行......)。如果一个片段显然没用,也可以解释为什么你认为它是。 ;)

9 个答案:

答案 0 :(得分:10)

如果这很重要,我不会这样,但每当我在任何视图控制器中添加UITableView时,我总是使用此代码段。

- (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 ;
}
如果您没有使用UITableViewController来显示表格内容,那么它非常方便。

答案 1 :(得分:9)

在给定的秒数后在当前队列上发送块:

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

答案 2 :(得分:7)

以下是我的两个评论片段。我经常使用它们。

标题评论:

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

子评论:

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

答案 3 :(得分:6)

我经常使用类扩展添加私有类接口:

@interface <#ClassName#> ()
@end

这是为了保持公共界面完全不受内部内容的限制,特别是现在我们可以拥有纯合成属性(example gist)。

答案 4 :(得分:5)

这里有几个系列:

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

在这里:

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

你可以坚持这个文件夹:

~/Library/Developer/Xcode/UserData/CodeSnippets

答案 5 :(得分:5)

调试此代码段非常有用。它让您知道班级名称,功能名称,您也可以添加您的评论。

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

答案 6 :(得分:4)

工厂片段之间似乎没有类别类别:

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

答案 7 :(得分:4)

这是我为同一目的创建的博客......

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

答案 8 :(得分:0)

我的片段中也有标准的视图生命周期方法(每天都会使用):

我使用键盘快捷键 v w a for

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


}

v d l viewDidLoad等。