> On Mar 17, 2016, at 12:16 AM, Chris Willmore via swift-evolution
> <[email protected]> wrote:
>
> To run with the example above, emailTextField would have type UITextField?
> but, because it’s an IUO declaration, it would still be usable in contexts
> that required non-optional UITextField. What would change is that if you were
> to say, e.g.
>
> let textField = controller.emailTextField
>
> then textField would have type UITextField?. But you could still say
>
> formView.addSubview(controller.emailTextField)
For this scenario, would you be able to implicitly force-unwrap when a
non-optional is not required, like:
controller.emailTextField.minimumFontSize = 12
Or would you have to say:
controller.emailTextField?.minimumFontSize = 12
If the former, would fontSize be an Optional<CGFloat> or a CGFloat
(non-optional)?
let fontSize = controller.emailTextField.minimumFontSize
As a user, I’m not sure which I’d expect. Given the behavior of let textField =
controller.emailTextField, it seems like i’d expect fontSize to be an
Optional<CGFloat>. Then again, if I’m allowed to implicitly unwrap
emailTextField, it also doesn’t make any sense for fontSize to be an Optional.
(I’m assuming that there would not be a circumstance where the IUO-ableness of
the value would be preserved.)
On a different note: As a general rule, I’m +1_000_000 on anything that makes
IUO and force-unwrapping less common, so anything with the subject “Abolish IUO
Type" makes me smile._______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution