随着大量的Xcode新手的涌入,我相信会有很多Xcode的技巧和技巧可以分享。
你的呢?
随着大量的Xcode新手的涌入,我相信会有很多Xcode的技巧和技巧可以分享。
你的呢?
当前回答
Cmd+Option+O to open a file in a separate window. Can configure Tab to always indent. I frequently use it to indent an entire file. Ctrl+Arrow keys to move between camel case words. If you have OneTwo, you can move from One to Two with Ctrl+Right arrow. You can use emacs bindings, there's even kill ring! I use the Ctrl+w and Cmd+C together when I need to copy two different pieces of text. In the documentation browser, you can restrict your searches to a particular library, e.g., just iOS 4.2 library. This helps me focus on API available only on a particular iOS/Mac version of the SDK. Cmd+Shift+A to build and analyze.
其他回答
我已经为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项目模板。
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. 界面构建器手势指南
界面构建器手势指南。
使用#pragma进行组织
你可以使用:
#pragma mark Foo
... 作为组织源文件中的方法的一种方式。当通过弹出式菜单浏览符号时,无论你在Foo中放置什么,都会在列表中显示粗体。
要显示分隔符(即水平线),使用:
#pragma mark -
它非常有用,特别是在将委托方法或其他方法组分组时。
在PyObjC中,你可以为符号下拉列表做类似的#pragma标记:
#马克:Foo
and
#马克:-
在打开的文件之间来回导航: ⌥⌘← ⌥⌘→