Проблема перевода с Objective-C на Swift

Я пытаюсь перевести эту простую строку кода в Swift, но не могу понять, как это написать:

AVCaptureConnection *videoConnection = nil;

Я пробовал:

    let videoConnection: AVCaptureConnection = nil

    let videoConnection: AVCaptureConnection = false

    var videoConnection:AVCaptureConnection = AVCaptureConnection()
            videoConnection = nil

    var videoConnection:AVCaptureConnection = AVCaptureConnection()
            videoConnection = false

var videoConnection:AVCaptureConnection = AVCaptureConnection()
            videoConnection.active = false

var videoConnection:AVCaptureConnection = AVCaptureConnection()
            videoConnection.active = nil

Будем благодарны за любые предложения о том, как написать это Swift.

2 ответа

Решение

Если вы хотите "инициализировать" что-то с помощью nil, это должен быть Optional. Так

var videoConnection: AVCaptureConnection? = nil

или же

var videoConnection: AVCaptureConnection?

был бы прав.

Я верю, что это будет:

let videoConnection: AVCaptureConnection = UnsafePointer<Int8>.null()

Так как Swift как бы скрывает от вас указатели (за исключением того, что объекты на самом деле являются указателями на объекты) и прямое манипулирование указателями, вам иногда приходится немного искажать себя.:)

Другие вопросы по тегам