How to assign nil to an object in Swift. I'm getting error if assigned directly.
In Swift, nil isn't a pointer—it's the absence of a value of a certain type. Optionals of any type can be set to nil , not just object types.
In Swift: nil is not a pointer, it's the absence of a value of a certain type. NULL and nil are equal to each other, but nil is an object value while NULL is a generic pointer value ((void*)0, to be specific). [NSNull null] is an object that's meant to stand in for nil in situations where nil isn't allowed.
If you're new to programming nil simply means that a variable (sometimes called an object) is empty and has no value assigned.
None (. None for short) is the correct way of initializing an optional variable lacking a value, whereas nil is just syntactic sugar for . None.
From Apple Documentation:
nil cannot be used with nonoptional constants and variables. If a constant or variable in your code needs to work with the absence of a value under certain conditions, always declare it as an optional value of the appropriate type
also very importante to notice:
Swift’s nil is not the same as nil in Objective-C. In Objective-C, nil is a pointer to a nonexistent object. In Swift, nil is not a pointer—it is the absence of a value of a certain type. Optionals of any type can be set to nil, not just object types
I hope that helps you!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With