私は計算上のラベルの幅に設定できる値とそのサイズを返す関数を持っています。一定の条件を満たした後、私はのような再帰関数のさらなる手続きを中止したいと思います。。再帰関数を使用する場合はSwiftで特定の条件が満たされたときに再帰的メソッドを終了する方法はありますか?
func getLength(value: Int, font: UIFont, viewFrame: CGRect) -> (width:CGFloat, text:String) {
let width: CGFloat!
var val = value
let size = String(format:"%d",value).size(attributes: [NSFontAttributeName: font])
if size.width+10 > viewFrame.size.width {
width = viewFrame.size.width-10
val = val/10
_ = getLength(value: val, font: font, viewFrame: viewFrame)
return (0.0 , "")
} else {
width = size.width+10
return (width,String(format:"%d+",val))
}
}