Swift3 IOS 10-Swift 3.0:停止授权功能以保存图像

Swift3 IOS 10-Swift 3.0:停止授权功能以保存图像,swift3,delegates,xcode8,ios10,dispatch-async,Swift3,Delegates,Xcode8,Ios10,Dispatch Async,我正在用swift 3、xCode 8.2和IOS10制作一个应用程序。该界面有一个热视觉屏幕(FLIR-ONE)。我的问题是,我怎样才能拍照?我的代码是: import UIKit class ThermalCameraVC: UIViewController, FLIROneSDKImageReceiverDelegate, FLIROneSDKStreamManagerDelegate { //MARK: OUTLETS @IBOutlet weak var i

我正在用swift 3、xCode 8.2和IOS10制作一个应用程序。该界面有一个热视觉屏幕(FLIR-ONE)。我的问题是,我怎样才能拍照?我的代码是:

import UIKit

class ThermalCameraVC: UIViewController,  FLIROneSDKImageReceiverDelegate, FLIROneSDKStreamManagerDelegate   {


    //MARK: OUTLETS
    @IBOutlet weak var imageView: UIImageView!
    @IBOutlet weak var labelStatusCamera: UITextField!
    @IBOutlet weak var labelCargeCamera: UITextField!
    @IBOutlet weak var icnCancelPicture: UIButton!
    @IBOutlet weak var icnUploadPicture: UIButton!
    @IBOutlet weak var iconTakePicture: UIButton!


    //MARK: VARIABLES
    var simulatorStatus = false
    var cameraBussy =  false


    override func viewDidLoad() {
        super.viewDidLoad()
        FLIROneSDKStreamManager.sharedInstance().addDelegate(self)
        FLIROneSDKStreamManager.sharedInstance().imageOptions =  FLIROneSDKImageOptions(rawValue:   FLIROneSDKImageOptions.blendedMSXRGBA8888Image.rawValue)!

        icnCancelPicture.isHidden = true
        icnUploadPicture.isHidden = true
    }

    //MARK: CANCEL PICTURE
    @IBAction func cancelPicture(_ sender: Any) {
        cameraBussy =  false
    }


    //MARK: UPLOAD PICTURE AMAZON S3
    @IBAction func uploadPicture(_ sender: Any) {


    }

    func flirOneSDKDelegateManager(_ delegateManager:   FLIROneSDKDelegateManager!, didReceiveBlendedMSXRGBA8888Image msxImage:   Data!, imageSize size: CGSize){
    let image = FLIROneSDKUIImage(format:   FLIROneSDKImageOptions.blendedMSXRGBA8888Image, andData: msxImage,  andSize: size)

        //HERE I NEED TO STOP THE DELEGATED FUNCTION TO SAVE THE IMAGE !!
        if self.cameraBussy{
            //cameraBussy = false

        }else{
            DispatchQueue.main.async{

                self.imageView.image = image
            }

        }
    }

    @IBAction func takeThermalPicture(_ sender: Any) {
        cameraBussy = true
        icnCancelPicture.isHidden = false
        icnUploadPicture.isHidden = false
        iconTakePicture.isHidden = true
    }

  }

如何停止此委托功能中的数据流?因为它一直在调用。

将委托值设置为nil

 @IBAction func takeThermalPicture(_ sender: Any) {

        FLIROneSDKStreamManager.sharedInstance().addDelegate(nil)
        cameraBussy = true
        icnCancelPicture.isHidden = false
        icnUploadPicture.isHidden = false
        iconTakePicture.isHidden = true

    }

您想只调用一次代理函数flirOneSDKDelegateManager吗?我想在苏联按下摄像头按钮时停止代理函数。因为在这一刻将是苏联需要这个框架来发送给API Rest的。