Ios 基于变量的调用方法(SWIFT)
我有许多不同的Coregraphics函数来绘制钟面的不同元素。我希望将逻辑放在一起,根据从当前小时提取的变量确定钟面显示的方面。所有绘图方法都列在单独的swift类/文件中。我如何简化这个过程,将变量注入到调用的方法中,而不是创建这个if语句塔?在这里,您可以看到drawCanvas04()与下午4:00(或16小时)相关联 } 下面是调用stylekit draw方法的示例:Ios 基于变量的调用方法(SWIFT),ios,swift,methods,Ios,Swift,Methods,我有许多不同的Coregraphics函数来绘制钟面的不同元素。我希望将逻辑放在一起,根据从当前小时提取的变量确定钟面显示的方面。所有绘图方法都列在单独的swift类/文件中。我如何简化这个过程,将变量注入到调用的方法中,而不是创建这个if语句塔?在这里,您可以看到drawCanvas04()与下午4:00(或16小时)相关联 } 下面是调用stylekit draw方法的示例: public class func drawCanvas07() { //// Color Declarat
public class func drawCanvas07() {
//// Color Declarations
let color0 = UIColor(red: 0.894, green: 0.000, blue: 0.476, alpha: 1.000)
//// HOUR7 Drawing
var hOUR7Path = UIBezierPath(ovalInRect: CGRectMake(65.5, 155.99, 24, 24))
color0.setFill()
hOUR7Path.fill()
}
使用参数。同时减少类方法,使用实例方法,如
self.drawCanvas()
像这样:
func drawCanvas(canvas:Int) {
switch canvas {
case 0:
// do something here for 0 o clock
case 1:
// 1 o clock
// etc,
default:
// in case somehow you run out of bounds
}
}
并使用
drawCanvas(10)
调用它,drawrect方法应该位于不同的类中,还是需要与时间计算方法嵌套?我很难在不触发“无法使用类型为“(Int)”的参数列表调用'drawCanvas'错误的情况下构造代码来传递hour变量。此外,似乎我使用实例方法self.drawCanvas的唯一方法是从StyleKit文件调用它,否则它会请求我使用ClockStyleKit.drawCanvas()。再次强调,不要使用类方法。您使用的是类方法,这就是为什么您必须执行ClockStyleKit.drawCanvas()
@softdownfeathers如果您可以将其标记为正确,以便其他人可以将其作为解决方案来参考,那将是非常棒的:-)
func drawCanvas(canvas:Int) {
switch canvas {
case 0:
// do something here for 0 o clock
case 1:
// 1 o clock
// etc,
default:
// in case somehow you run out of bounds
}
}