【问题标题】:Swift Firebase how to stop proccess?Swift Firebase 如何停止进程?
【发布时间】:2016-12-27 15:03:02
【问题描述】:
class ProfileViewController: UIViewController, UINavigationControllerDelegate, UIImagePickerControllerDelegate {

@IBOutlet weak var btnMenu: UIBarButtonItem!

@IBOutlet weak var image1: UIImageView!

@IBOutlet weak var txtMessage: UILabel!

var imagePicker = UIImagePickerController()

var rootRef = FIRDatabase.database().reference()

var storage = FIRStorage.storage()

var storageRef = FIRStorage.storage().referenceForURL("gs://...")   

@IBAction func actionLoad(sender: AnyObject) {

    var count : Int?
    var fileName : String?

   let imageRef = self.rootRef.child("users").child(LoginViewController.USER_ID!).child("images").observeEventType(FIRDataEventType.Value, withBlock: { (snapshot) in
        count = snapshot.value! as! Int


        var data = NSData()
        data = UIImageJPEGRepresentation(self.image1.image!, 0.8)!

        if count == 0 {
            fileName = "1.jpg"
        }else if count == 1 {
            fileName = "2.jpg"
        }else if count == 2 {
            fileName = "3.jpg"
        }else if count == 3 {
            fileName = "4.jpg"
        }else if count == 4 {
            fileName = "5.jpg"
        }
        let metaData = FIRStorageMetadata()
        metaData.contentType = "image/jpg"

        if count < 5 {

            self.storageRef.child(LoginViewController.USER_ID!).child(fileName!).putData(data, metadata: metaData){(metaData,error) in
                if let error = error {

                    self.txtMessage.text = error.localizedDescription

                }else{

                    self.txtMessage.text = "Your picture uploaded"
                    self.rootRef.child("users").child(LoginViewController.USER_ID!).child("images").setValue(count!+1)

                }

            }

        }else{
            self.txtMessage.text = "Sorry, you may to upload maximum 5 photos"

        }

    })

}

如何停止?它一直持续到 count == 5。但不想要循环过程。点击后它应该上传一张图片并停止!我试过了 : "rootRef.removeAllObservers" 但不知道怎么用

【问题讨论】:

  • 请添加更多关于您正在尝试做什么的详细信息。我看不到你目前的问题。

标签: swift firebase firebase-realtime-database firebase-storage


【解决方案1】:

通过点击“actionLoad”按钮,该功能检查已经上传了多少张图片,如果少于5张,则上传用户选择的图片功能。但是问题是一键点击按钮功能不停止并继续上传该图片一次又一次直到5上传。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-04
    • 2017-10-27
    • 2018-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多