在 Xcode 3 中,我可以首先在实现 (.m) 文件中编写我的方法;然后将相同的方法添加到接口(interface)(.h)文件中。此时,Xcode 3 对 .m 文件中编写的方法进行了代码补全。遗憾的是,Xcode 4 没有像 Xcode 3 那样完整地编写我的方法。还有其他人遇到过这种情况吗?这种情况有选择吗?
一个例子:
实现 .m 文件可能如下所示:
#import "Foundation, MyClass.h and stuff"
@implementation MyClass
-(void)mySampleMethod { NSLog(@"mySampleMethod"); }
@end
接口(interface) .h 文件可能如下所示:
#import "Foundation and stuff"
@interface MyClass : MySuperClass {
}
-(void)myS /* in Xcode 3 the code completion would now pop up with the 'mySampleMethod' from the .m, in Xcode 4 this does not happen */ ampleMethod; /* So I either copy/paste, or write the method */
@end
最佳答案
Xcode 4 的代码补全和交叉引用索引在底层使用 LLVM 编译器,这使其能够仅呈现在您尝试使用它们的上下文中有效的补全。
这种(极大)提高的精度的一个缺点是,在这种情况下您正在寻找的补全不可用。
当然,请记住,在 Objective-C 中,只有一个类实际上暴露给另一个类的方法才需要在该类的头文件中声明。
关于iphone - XCode 4 对 .h 文件中方法的代码完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5970874/