在实现文件(.m)中我有30个..方法。如何自动将他们的描述(所有这些)放入.h文件中?
答案 0 :(得分:2)
使用正则表达式难以正确接缝,但您可以使用awk:
https://gist.github.com/1771131
#!/usr/bin/env awk -f
# print class and instance methods declarations from implementation
# Usage: ./printmethods.awk class.m or awk -f printmethods.awk class.m
/^[[:space:]]*@implementation/ {
implementation = 1;
}
/^[[:space:]]*@end/ {
implementation = 0;
}
/^[[:space:]]*[\-\+]/ {
if(implementation) {
method = 1;
collect = "";
}
}
/[^[:space:]]/ {
if(implementation && method) {
p = index($0, "{");
if(p == 0) {
if(collect == "")
collect = $0
else
collect = collect $0 "\n";
} else {
method = 0;
# trim white space and "{" from line end
gsub("[\{[:space:]]*$", "", $0);
collect = collect $0;
# trim white space from start
gsub("^[[:space:]]*", "", collect);
print collect ";"
}
}
}
答案 1 :(得分:0)
编写一段代码,提取所有方法定义(使用正则表达式检测它们),然后将其添加到h文件和“\; \ n”。
答案 2 :(得分:0)
程序Accessorizer(在Mac App Store上只需5美元)专门用于Xcode中这些令人讨厌的工作问题。它可以生成原型以及属性合成,访问器,inits等。
警告:在我的经历中,它的边缘有点敏感和粗糙。例如,它可能没有意识到函数在多行注释中,因此为它提供了不需要的原型。但即使考虑到这些怪癖,它也为我节省了超过5美元的时间。他们的网站:http://www.kevincallahan.org/software/accessorizer.html