2017-11-27 6 views
-1

私はこのコードを持っており、黄色の警告を投げています。私は黄色の警告が消えるようにコード化する方法を理解できません。 > 3 - - スウィフト-2から変換した後、私のコードをクリーンアップしようとしている> 4.'[AVCaptureDevice]'から '[AVCaptureDevice]'への条件付きキャストは常に成功します。黄色の警告

override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 

     //On iPad Mini this returns 760 x 1024 = correct 
     //On the iPhone SE, this returns 320x568 = correct 
     print("Width: \(screenWidth)") 
     print("Height: \(screenHeight)") 

     //======================= 

     captureSession.sessionPreset = AVCaptureSession.Preset.high 

     if #available(iOS 10.0, *) { 
      if let devices = AVCaptureDevice.default(AVCaptureDevice.DeviceType.builtInWideAngleCamera, for: AVMediaType.video, position: .back) { 

       print("Device name: \(devices.localizedName)") 

      } 
     } else { 

     } 

if let devices = AVCaptureDevice.devices() as? [AVCaptureDevice] { 
     // Loop through all the capture devices on this phone 
     for device in devices { 

      print("Device name: \(device.localizedName)") 

      // Make sure this particular device supports video 
      if (device.hasMediaType(AVMediaType.video)) { 
       // Finally check the position and confirm the back camera 
       if(device.position == AVCaptureDevice.Position.back) { 
        captureDevice = device 
        if captureDevice != nil { 
         print("Capture device found") 
         beginSession() 


       } 
      } 
     } 
    } 
    } 

} 
+0

削除「と? [AVCaptureDevice] ' – zombie

+0

これは赤いエラーの原因となります:条件付きバインディングの初期化子は、[AVCaptureDevice]ではなく、オプション型でなければなりません。ごめんなさい。 –

+0

それはオプションではないので、どうしてあなたはなぜか必要なのかを確認してください。 – zombie

答えて

2

エラーメッセージは、あなたが条件付きで重複しているオプションの種類に非オプションタイプをキャストすることを言います。

その宣言

class func devices() -> [AVCaptureDevice]

をチェックするdevicesにを⌥クリックだから、単に

let devices = AVCaptureDevice.devices() 
// Loop through all the capture devices on this phone 
for device in devices { ... 
+0

ありがとうございました。私はその上にios10のテストで、else {...}を問題なく再追加しなければなりませんでした。すべての良い。 –

関連する問題