2
设定值在我的目标C代码,我有这样的:无法通过协议
if ([view conformsToProtocol:@protocol(UITextInputTraits)]) {
id<UITextInputTraits> field = view;
field.enablesReturnKeyAutomatically = YES;
}
现在我想将其转换成快捷,所以我这样做:
if var field = view as? UITextInputTraits {
field.enabledReturnKeyAutomatically = true
}
我得到一个编译器错误,说'字段'是不可变的。什么是正确的方式来实现这一目标?
这可能没有什么解决问题。该视图可能是一个UITextField,或者它可能是一个UITextView。这就是为什么我试图使用它们都实现的协议,而不是具体的类。 – Gargoyle
我知道。它很烂。我已经修改了我的答案以涵盖两种情况,但仍然很糟糕。提交错误报告! – matt
我已经添加了第二个同样可怕的解决方案。真是一团糟。 – matt