Non-optional String -> Data Conversion

Prefer non-optional Data(_:) initializer when converting String to Data

  • Identifier: non_optional_string_data_conversion
  • Enabled by default: Yes
  • Supports autocorrection: No
  • Kind: lint
  • Analyzer rule: No
  • Minimum Swift compiler version: 5.0.0
  • Default configuration:
    KeyValue
    severity warning
    include_variables false

Non Triggering Examples

Data("foo".utf8)
Data(string.utf8)
"foo".data(using: .ascii)
string.data(using: .unicode)
//
// include_variables: true
//

Data("foo".utf8)

//
// include_variables: true
//

Data(string.utf8)

//
// include_variables: true
//

"foo".data(using: .ascii)

//
// include_variables: true
//

string.data(using: .unicode)

Triggering Examples

"foo".data(using: .utf8)
//
// include_variables: true
//

"foo".data(using: .utf8)

//
// include_variables: true
//

string.data(using: .utf8)

//
// include_variables: true
//

property.data(using: .utf8)

//
// include_variables: true
//

obj.property.data(using: .utf8)

//
// include_variables: true
//

getString().data(using: .utf8)

//
// include_variables: true
//

getValue()?.data(using: .utf8)