从XCode 4开始,现在有一个Code Snippets部分,在输入时通过自动完成提供片段。我对你们都存储在那里的片段非常感兴趣。哪些片段可以节省您最多的时间(以及为什么)?
请仅发布实际片段(意思是没有讽刺“不需要没有stinkin'片段”,并且没有“我喜欢做< XYZ>”的片段),只有片段是短而甜(即最多不超过~20行......)。如果一个片段显然没用,也可以解释为什么你认为它是。 ;)
答案 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)
这是我为同一目的创建的博客......
答案 8 :(得分:0)
我的片段中也有标准的视图生命周期方法(每天都会使用):
我使用键盘快捷键 v w a for
- (void) viewWillAppear:(BOOL)animated
{
[super viewWillAppear: animated];
}
v d l viewDidLoad
等。