【发布时间】:2017-03-29 06:41:40
【问题描述】:
我有一个结构,在这个结构中我有一个变量,我想成为UITextField 或UIButton 的任何类型。我想我可以以某种方式使用泛型。
所以,我的代码是这样的
private struct ValidationObject {
var textField: RITextFieldLine
...
}
textField 类型为RITextFieldLine 的变量是我的自定义视图。但我不希望它属于这种特定类型。
【问题讨论】:
-
这听起来像是一个 XY 问题。你的最终目标是什么?
-
让它成为任何对象
-
您可以使用
UIView或UIControl。您也可以添加自己的协议Validateable,然后通过扩展将此协议添加到各种控制类型;正如@Sweeper 所问,你想达到什么目的? -
@Lu_ 这是个糟糕的建议,说真的。
-
谢谢。我在方法中有这个结构的实例,稍后我希望能够将 textField 或 UIButton 传递给变量。
func addValidationTo(field textField: RITextFieldLine, type validationType: ValidationType, errorMessage errorMsg: String) { let object = ValidationObject(textField: textField, type: validationType, errorMessage: errorMsg) validationObjectsArray.append(object) }