将整数上载到Firebase数据库IOS的按钮
当按下按钮时,我需要在数据库中保存项目的评级。虽然我的滑块工作,变量“currentValue”工作,但我无法获得提交到数据库的评级,因为它会使应用程序崩溃。如果我犯了一个简单的错误,一定要让我知道将整数上载到Firebase数据库IOS的按钮,ios,swift,database,firebase,Ios,Swift,Database,Firebase,当按下按钮时,我需要在数据库中保存项目的评级。虽然我的滑块工作,变量“currentValue”工作,但我无法获得提交到数据库的评级,因为它会使应用程序崩溃。如果我犯了一个简单的错误,一定要让我知道 import UIKit import FBSDKCoreKit import FBSDKLoginKit import FirebaseDatabase class SecondViewController: UIViewController { var ref:FIRDatabaseRefe
import UIKit
import FBSDKCoreKit
import FBSDKLoginKit
import FirebaseDatabase
class SecondViewController: UIViewController {
var ref:FIRDatabaseReference!
@IBOutlet weak var sliderLabel: UILabel!
@IBOutlet weak var verticalSlider: UISlider!
{
didSet{
verticalSlider.transform = CGAffineTransform(rotationAngle: CGFloat(-M_PI_2))
}
}
@IBAction func verticalSliderChanged(_ sender: UISlider) {
var currentValue = Int(sender.value);
sliderLabel?.text = "\(currentValue)"
}
@IBAction func checkmarkButtonPressed(_ sender: Any) {
let img:UIImageView = UIImageView(frame: CGRect(x: 30, y: 180, width: 250, height: 320))
let randomImage = arc4random()
if (randomImage % 4 == 0) {
img.image = UIImage(named: "hero.jpg")
} else if (randomImage % 3 == 1) {
img.image = UIImage(named: "hillary.jpg")
} else {
img.image = UIImage(named: "thistimeisdifferent.png")
**self.ref.child(uuid).child("Book Info").child("Book Title").child("Slider Value").setValue(currentValue)**
}
}
虽然我不能给你一个确切的答案来解决这个问题,但我可以提出一些建议 首先,确保所有@iboutlet和@IBActions都已连接。如果这些对象和操作未连接,这肯定会导致崩溃。要解决此问题,请注释掉代码并在操作上设置一个断点,然后看看您是否能够与Outlet交互并开始操作 其次,验证代码的执行,以确保使用的是安全的数据。比如说,
@IBAction func verticalSliderChanged(_ sender: UISlider) {
// This will allow a safer way to interact with you data
if let currentValue = sender.value as? Int {
sliderLabel?.text = "\(currentValue)"
}
}
@IBAction func checkmarkButtonPressed(_ sender: Any) {
let img:UIImageView = UIImageView(frame: CGRect(x: 30, y: 180, width: 250, height: 320))
self.view.addSubview(img)
guard img != nil else {
return
}
let randomImage = arc4random()
if (randomImage % 4 == 0) {
img.image = UIImage(named: "hero.jpg")
} else if (randomImage % 3 == 1) {
img.image = UIImage(named: "hillary.jpg")
} else {
img.image = UIImage(named: "thistimeisdifferent.png")
guard let currentVal = currentValue,
currentVal.characters.count > 0 else {
return
}
self.ref.child(uuid).child("Book Info").child("Book Title").child("Slider Value").setValue(currentVal)
}
验证每一步处理的数据应允许您确定问题是插入FireBase、插座还是应用程序逻辑的数据
希望能有所帮助。非常感谢。我仍在努力,但希望它能起作用。