随着大量的Xcode新手的涌入,我相信会有很多Xcode的技巧和技巧可以分享。

你的呢?


当前回答

使用#pragma进行组织

你可以使用:

#pragma mark Foo

... 作为组织源文件中的方法的一种方式。当通过弹出式菜单浏览符号时,无论你在Foo中放置什么,都会在列表中显示粗体。

要显示分隔符(即水平线),使用:

#pragma mark -

它非常有用,特别是在将委托方法或其他方法组分组时。

其他回答

我已经为NSObject, UIView和UIViewController创建了自己的文件模板,所以当我创建新类时,这些文件都设置了私有部分,并在init和dealloc中记录类的地址。

示例(命名为'test'的NSObject派生类将像这样开始):

//=====================================================
// Private Interface
//=====================================================

@interface test (private)
@end

//=====================================================
// Public Implementation
//=====================================================

@implementation test

- (void)dealloc {
    NSLog(@">>> Dealloc: test [0x%X]", self);
    [super dealloc];
    NSLog(@"<<< Dealloc: test");
}

- (id) init
{
    self = [super init];
    if(self) {
        NSLog(@">>> Alloc: test [0x%X]", self);
    }
    return self;
}

@end

//=====================================================
// Private Implementation
//=====================================================

@implementation test (private)
@end

这方面有很多可用的资源,例如Cocoa dev:设计自己的Xcode项目模板。

自动完成键盘快捷键

选项卡⇥或控制⌃/:选择下一个自动完成参数。

Shift: Tab⇥或Shift: Control⌃/:选择之前的自动完成参数。

Escape⎋:显示自动完成弹出列表。

“Ctrl+左/右箭头”进行字内文本导航。我使用这个特性将光标从变量中的一个“驼峰”跳转到下一个。

看看一个关于“在Xcode中变得高效”的视频:becoming-productive-in- Xcode

无需重新编译的调试日志记录

cdespinosa的回答堆栈溢出问题我如何调试与NSLog(@“内部的iPhone模拟器”)?给出了一种不需要重新编译源代码的调试通过日志技术的方法。这是一个神奇的技巧,可以让代码摆脱调试的麻烦,有一个快速的周转,如果我早一点知道它,就可以为我省去无数的麻烦。

TODO comments

在注释前面加上TODO:将导致它显示在函数“快捷”下拉菜单中,例如:

int* p(0); // TODO: initialize me!