Проблема перевода с 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 как бы скрывает от вас указатели (за исключением того, что объекты на самом деле являются указателями на объекты) и прямое манипулирование указателями, вам иногда приходится немного искажать себя.:)