Last active
June 1, 2019 22:39
-
-
Save ullstrm/8894f52c30e6eb858c208ebcfaf7f77c to your computer and use it in GitHub Desktop.
Xcode 10.2 compiler optimization problem
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// ViewController.swift | |
// Enums | |
// | |
// Created by Jonas Ullström on 2019-03-28. | |
// Copyright © 2019 ullstmr. All rights reserved. | |
// | |
import UIKit | |
class ViewController: UIViewController { | |
var enum1: SomeEnum = .standard | |
var enum2: SomeEnum2 = .standard | |
var valueEnum1: Bool! | |
var valueEnum2: Bool! | |
var log = "" | |
override func viewDidLoad() { | |
super.viewDidLoad() | |
let value1 = enum1.someBool | |
valueEnum1 = value1 | |
log.append("let value1=\(value1)\n") | |
let value2 = enum2.someBool | |
valueEnum2 = value2 | |
log.append("let value2=\(value2)\n") | |
} | |
override func viewDidAppear(_ animated: Bool) { | |
super.viewDidAppear(animated) | |
let str = """ | |
Actual | |
valueEnum1=\(valueEnum1!) | |
valueEnum2=\(valueEnum2!) | |
Log | |
\(log) | |
""" | |
let alert = UIAlertController(title: str, message: nil, preferredStyle: .alert) | |
self.present(alert, animated: true, completion: nil) | |
} | |
} | |
enum SomeEnum { | |
case | |
value(defaultUnknownInnerValue: UIStatusBarStyle), | |
standard, | |
somethingElse | |
var someBool: Bool { | |
switch self { | |
case .somethingElse: | |
return false | |
default: | |
return true | |
} | |
} | |
} | |
enum InnerEnum { | |
case a | |
case b | |
} | |
enum SomeEnum2 { | |
case | |
value(enumInnerValue: InnerEnum), | |
standard, | |
somethingElse | |
var someBool: Bool { | |
switch self { | |
case .somethingElse: | |
return false | |
default: | |
return true | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment