是否有可以与Swift一起使用的编译器宏?通常情况下,我经常使用模板,这些模板经常需要改变一些部分,因为快速移动,我已经失去了对#warning
答案 0 :(得分:1)
您可以使用// MARK
:
// MARK: - UIImagePickerControllerDelegate Methods
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) {
let image = info[UIImagePickerControllerOriginalImage] as! UIImage
if let backgroundImageChangedBlock = self.backgroundImageChangedBlock {
backgroundImageChangedBlock(backgroundImage: image)
}
self.dismissViewControllerAnimated(true, completion: nil)
}
// MARK: - UINavigationControllerDelegate Methods
func navigationController(navigationController: UINavigationController, willShowViewController viewController: UIViewController, animated: Bool) {
UIApplication.sharedApplication().setStatusBarHidden(true, withAnimation: .None)
}
Xcode不支持#warning
,但您可以使用脚本短语:https://stackoverflow.com/a/26869489/907422:
将新的运行脚本添加到目标的构建阶段选项卡(项目设置>构建阶段>' +'>新运行脚本阶段),并将以下代码粘贴到空盒子:
TAGS="WARNING"
echo "searching ${SRCROOT} for ${TAGS}"
find "${SRCROOT}" \( -name "*.swift" \) -print0 | xargs -0 egrep --with-filename --line-number --only-matching "($TAGS).*\$" | perl -p -e "s/($TAGS)/ warning: \$1/"
答案 1 :(得分:0)
Swift中没有编译器宏或其他preprocessor directives。您可以设置构建配置,但我怀疑这不是您要查找的内容。
您可以使用documentation将代码部分标记为需要更改。除非模板正确实现,否则您还可以编写将失败的单元测试。
除非正确实现,否则Assertions也可能是模板化代码失败的好方法。