ios - Will optional values be de-initialized automatically? -
i new swift, please ignore if asking dumb questions ;)
is required explicitly set optional values nil, if not needed more? how weak, strong reference works in swift? if normal variables has de-initialized manually? since there no way assign nil normal variables in swift, please let me know how it. difference between?
var somevar:string? vs var somevar:string! i see difference in accessing them. first prints values within optional , second doesn't , second throws exception when value nil. difference?
is required explicitly set optional values nil
no, automatic reference counting frees memory automatically. unless there circular reference, e.g., there strong reference classa in classb , vice-versa. also, automatic reference counting applies instances of classes , not value types (string, int, enum, etc). memory of these value types freed when parent instances deinitialized.
is difference?
var somevar:string! creates implicitly unwrapped optional, optional automatically unwrapped when accessed. accessing implicitly unwrapped optional when it's nil causes runtime error.
Comments
Post a Comment