随着大量的Xcode新手的涌入,我相信会有很多Xcode的技巧和技巧可以分享。
你的呢?
随着大量的Xcode新手的涌入,我相信会有很多Xcode的技巧和技巧可以分享。
你的呢?
当前回答
至于“快速打开”功能——它很棒,但我总是错过TextMate用于浏览项目和文件(符号,方法等)的cmd-shift-t。
这就是为什么我发布了一个Xcode插件来提供这个功能。它叫做Code Pilot,你可能想看看它:http://macoscope.net/en/mac/codepilot/
其他回答
按左/按右键导航变量或方法名中的单词。没有这个我活不下去。
完整的快捷方式列表可以在这里找到:http://iphonehuston.blogspot.com/2009/08/shortcuts-for-xcode.html
⇧⌘。它会构建和分析,这意味着Xcode会警告你可能的泄漏。
无需重新编译的调试日志记录
cdespinosa的回答堆栈溢出问题我如何调试与NSLog(@“内部的iPhone模拟器”)?给出了一种不需要重新编译源代码的调试通过日志技术的方法。这是一个神奇的技巧,可以让代码摆脱调试的麻烦,有一个快速的周转,如果我早一点知道它,就可以为我省去无数的麻烦。
TODO comments
在注释前面加上TODO:将导致它显示在函数“快捷”下拉菜单中,例如:
int* p(0); // TODO: initialize me!
我已经为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项目模板。