AppCode可以生成如下的getter代码:
- (UIView *)leftAnchorView {
return _leftAnchorView;
}
在偏好设置中 - >编辑 - >文件和代码模板 - > Code Tab,我发现getter模板是
#if ($IVAR_IS_AVAILABLE == "true")
return $IVAR;#else
return $DEFAULT_RETURN_VALUE;#end
所以,我修改了这样的模板:
#if ($IVAR_IS_AVAILABLE == "true")
if(!$IVAR){
$CUSTOM_CODE
}
return $IVAR;#else
return $DEFAULT_RETURN_VALUE;#end
结果是
- (UIView *)leftAnchorView {
if(!_leftAnchorView){
}
return _leftAnchorView;
}
现在,我的目标是
- (UIView *)leftAnchorView {
if(!_leftAnchorView){
_leftAnchorView = [UIView new];
}
return _leftAnchorView;
}
有谁能告诉我如何修改代码模板以实现我的目标?谢谢!
答案 0 :(得分:1)
“文件和代码模板”窗口右下角的特定模板中有各种变量的说明。因此,您需要使用保存类型的$RETURN_TYPE
变量。但该类型包含您不需要的*
。在Velocity模板中,您可以使用Java String函数,因此最终模板将是
#if ($IVAR_IS_AVAILABLE == "true")
if(!$IVAR){
$IVAR = [$RETURN_TYPE.replace("*"," ") new];
}
return $IVAR;#else
return $DEFAULT_RETURN_VALUE;#end