swift3 - Assigning value to a variable inside an If else block in swift 3 -
this thing basic sure been asked can't find it.
i experimenting in swift 3 playgrounds , want run code:
import uikit var optionalvariable: int? = 32 var anothervariable: int if optionalvariable != nil{ print("this executed") anothervariable = 32 } print(anothervariable)
it fails run , getting error:
playground execution failed: error: chapter4.playground:5:7: error: variable 'anothervariable' used before being initialized print(anothervariable)
so what's wrong? why can't use value of anothervariable
when have assigned value it?
if comment out last line print(anothervariable)
, code runs , output printed this executed
.
compiler see there path anothervariable
not initialized (when optionalvariable
nil
). happen if e.g. thread sets optional variable nil
. won't happen in code compiler can't know this. have initialize anothervariable
@ point before pass function.
Comments
Post a Comment