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

你的呢?


当前回答

对我来说,它一直是:Command⌘+ 0:

在你调试或运行之后,如果你退出iPhone模拟器或调试应用,你会留下调试器窗口。

当你使用“单窗口布局”时,回到编辑器必须点击工具栏,这很烦人(加上你以后需要“删除细节窗格”)。

上面的快捷方式做到了这一点,并让您准备好编写代码。

其他回答

能够快速查看可以从超类中重写的所有方法。例如,当扩展UITableViewController时,我只需要输入我的实现:

- ta

然后我按ESC键,看到我的超类中所有以“ta”开头的方法,比如

- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

这也适用于采用协议。

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

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

if (cond) {
  code;
}

但我更喜欢这样:

if (cond)
{
  code;
}

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

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

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

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

Command⌘alt shift T:在项目树中显示当前编辑的文件。

使用]自动插入[到正确的位置

我来自。net背景,所以我习惯于输入一个符号,然后输入它的一个方法名。所以我总是忘记在开始输入对象名称之前包含[。通常这意味着我需要转到行首并手动添加[。我没有意识到我只需在当前光标位置按下],它就会自动添加。

有几种方法可以使用它:要么在输入函数名之后,要么在输入函数名之前。

方法一:在函数名后面

myObject testMethod]

... 就变成:

[myObject testMethod]

…插入符号位于]之后。

方法二:在函数名前面

myObject]

... 就变成:

[myObject ]

... 插入符号位于]的正前方。

后者(2)的优点是代码补全将根据对象的方法进行筛选。而对于前者(1),如果你试图在myObject之后立即调用代码补全,它将不会被过滤。(2)的另一个优点是它的行为更像其他使用点表示法的编程语言。然后只需输入对象的名称[而不是]。访问一个方法。

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

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

TODO comments

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

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