[swift-users] Regression in Xcode8-beta6 Swift?
David Hart
david at hartbit.com
Thu Aug 25 02:23:36 CDT 2016
You can’t call arbitrary functions on AnyObject anymore. Previously, you could do this:
let a: AnyObject = UIView()
a.hasPrefix(“test”) // This compiled (because hasPrefix(:_) exists on NSString), but would obviously crash
This is not allowed anymore.
> On 25 Aug 2016, at 03:33, Travis Griggs via swift-users <swift-users at swift.org> wrote:
>
> Upgrading to beta6 of Xcode8, I’ve read through various SE’s and made fixes as appropriate, but the following behavior I didn’t catch an explanation as to why its now an error where it was fine before.
>
> In a ViewController, I have something that looks like:
>
> var addButton = UIButton(type: .custom)
> var addPrompt = UILabel()
> var timesButton = UIButton(type: .system)
> var removeButton = UIButton(type: .system)
> var menuButton = UIButton(type: .system)
>
> func commonInit() {
> [self.addButton, self.addPrompt, self.timesButton, self.removeButton, self.menuButton].forEach { control in
> control.sizeToFit()
> self.addSubview(control)
> }
>
> This code was fine until the latest update. It seemed to a heterogenous array of UILabel and UIButtons was a homogeneous array of UIView objects. But now I get the errors:
>
> Value of type ‘Any’ has no member ‘sizeToFit'
> Cannot covert value of type ‘Any’ to expected argument type of ‘UIView’
>
> This seems like it might be related to SE-0116 (Import Objective-C id as Swift Any ) but I’m not sure why the inferencer can no longer find the shared parent type, where it could before.
>
> Aside, I can fix it by simply helping it a little, e.g.
>
> [self.addButton, self.addPrompt, self.timesButton, self.removeButton, self.menuButton].forEach { (control:UIView) in...
>
> But remain curious why the inferencer can’t handle this for me anymore.
>
>
>
> _______________________________________________
> swift-users mailing list
> swift-users at swift.org
> https://lists.swift.org/mailman/listinfo/swift-users
More information about the swift-users
mailing list