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

你的呢?


当前回答

我已经为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项目模板。

其他回答

⌘命令+双击符号:跳转到符号的定义。

“选项”+双击符号:在符号的“文档”中查找文本。(只有当你安装了他们符号的Doc Set时才有效。)

收藏夹栏:

收藏夹栏就像你在Safari中存储收藏夹一样。我经常用它来存储我现在正在使用的文件的快捷方式(你可以通过拖拽来实现)。一般来说,当我处理一个大型或不熟悉的项目时,这更有用。

要显示收藏夹栏,请选择以下菜单选项:

查看>布局>显示收藏栏

在拆分窗口时按住“选项”以垂直而不是水平拆分窗口。

我发现使用快捷方式来构建/清理和运行你的项目真的节省了我一些时间:

Cmd-R:构建并运行 Cmd-Y:构建和调试 Cmd-Shift-Enter:停止运行项目 Cmd-Shift-K:清洁构建

我刚刚发现了如何改变文本宏中使用的缩进行为:

例如,如果你和我一样,不喜欢这个:

if (cond) {
  code;
}

但我更喜欢这样:

if (cond)
{
  code;
}

然后你可以通过在终端中设置以下默认值来全局(所有语言)更改此设置:

defaults write com.apple.Xcode XCCodeSenseFormattingOptions -dict-add BlockSeparator "\n"

这个问题已经困扰我很多年了,我希望其他人也会感兴趣。

这个特性的文档可以在Xcode用户默认参考中找到

切换到头文件/源文件

选项命令⌘向上箭头↑ 查看>切换到头文件/源文件

在。m和。h文件之间切换。

在Xcode 4中,这是ctrl⌘向上箭头↑