Implicitly Unwrapped Optional
Implicitly unwrapped optionals should be avoided when possible
- Identifier:
implicitly_unwrapped_optional
- Enabled by default: No
- Supports autocorrection: No
- Kind: idiomatic
- Analyzer rule: No
- Minimum Swift compiler version: 5.0.0
- Default configuration:
Key Value severity warning mode all_except_iboutlets
Non Triggering Examples
@IBOutlet private var label: UILabel!
@IBOutlet var label: UILabel!
@IBOutlet var label: [UILabel!]
if !boolean {}
let int: Int? = 42
let int: Int? = nil
Triggering Examples
let label: ↓UILabel!
let IBOutlet: ↓UILabel!
let labels: [↓UILabel!]
var ints: [↓Int!] = [42, nil, 42]
let label: ↓IBOutlet!
let int: ↓Int! = 42
let int: ↓Int! = nil
var int: ↓Int! = 42
let collection: AnyCollection<↓Int!>
func foo(int: ↓Int!) {}
class MyClass {
weak var bar: ↓SomeObject!
}