随着大量的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项目模板。

其他回答

Cmd + Ctrl + up / down折叠或展开所有函数。

你可以让Xcode在Info上运行预处理器。plist文件:

        <key>CFBundleShortVersionString</key>
    #ifdef DEBUG
        <string>1.0 (debug)</string>
    #else
        <string>1.0</string>
    #endif

详情见http://developer.apple.com/technotes/tn2007/tn2175.html。

1. "objc_exception_throw"的断点

在objc_exception_throw上应该始终有一个断点。

2. 调试“僵尸”变量的保留/释放问题

使用以下代码:

NSZombieEnabled = YES;
NSDeallocateZombies = NO;

... 调试保留和释放问题。要了解更多信息,请参阅Apple调试应用程序文档中的“查找内存泄漏”部分。

3.从Interface Builder跳转到Xcode中的类

命令⌘+双击接口生成器的文档窗口中的对象,跳转到Xcode中的该类。这对于File's Owner来说非常方便。

4. 在接口生成器中重用自定义对象

将自定义对象拖回接口生成器的库以供以后重用。

5. 在“接口生成器”中选择重叠项

控制⌃Shift +在Interface Builder中点击一个对象,可以看到鼠标下所有对象的菜单。

6. 界面构建器手势指南

界面构建器手势指南。

能够水平分割当前编辑器窗口,这对于宽屏监视器能够并排查看源文件和头文件非常有用。根据你使用的Xcode版本不同,有两种不同的方法。

在Xcode 3.0中,它位于首选项、键绑定、文本键绑定列表底部。

在Xcode 2.5中,它位于首选项、键绑定、菜单键绑定、视图菜单下。

打印完整的Xcode键盘快捷键列表,并把它放在你的显示器旁边。