ios – Firebase observeSingleEvent停留在内存中

移动开发 作者: 2024-08-25 07:15:01
我的应用程序使用firebase的observeSingleEventOfType相当不错,我意识到,我的应用程序的内存随着时间的推移而增加。我已经注释掉了我所有的代码,除了一个调用以下功能的测试按钮。 func loadPostsTest() { FIRDatabase.database().reference().child("posts").observeSingleEventOfT
我的应用程序使用firebase的observeSingleEventOfType相当不错,我意识到,我的应用程序的内存随着时间的推移而增加。我已经注释掉了我所有的代码,除了一个调用以下功能的测试按钮。
func loadPostsTest() {
    FIRDatabase.database().reference().child("posts").observeSingleEventOfType(.Value,withBlock: { (snapshot: FIRDataSnapshot) in
        print(snapshot.value)
    })
}
import UIKit
import Firebase

class ViewController: UIViewController {

var count: Int = 0

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

@IBAction func testBtnPressed(sender: AnyObject) {
    FIRDatabase.database().reference().child("posts").observeSingleEventOfType(.Value,withBlock: {[weak self] (snapshot: FIRDataSnapshot) in
        print(self?.count)
        self?.count += 1
    })
}

解决方法

这可能只是因为您正在调试版本中运行。我的结果,经过〜128次点击设备与调试版本:
import UIKit
import FirebaseDatabase

class ViewController: UIViewController {

    @IBOutlet weak var label: UILabel!
    private var count: Int = 0

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

    @IBAction func testBtnPressed(sender: AnyObject) {
        let db = FIRDatabase.database().reference()
        db.child("posts").observeSingleEventOfType(.Value) { [weak self] (snap: FIRDataSnapshot!) in
            guard let this = self else { return }
            this.count = this.count + 1
            this.label.text = "\(this.count)"
        }
    }
}
原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_68268.html