как дела? Я новичок в iOS-разработчике, используя Swift, и столкнулся с проблемой. Мне нужно получить результат float из уравнения и установить его в мой label.text.EXC_BAD_INSTRUCTION при попытке показать Float в Label.text с помощью Swift
После ознакомления с документами (если есть ответ, извините, я еще не способен понять все, что там написано ... все еще учится) и поиск ответов на google, я наткнулся на это решение:
(где песо, Meta и Коэф являются поплавки и pesoInput и metaLabel являются Strings)
peso = (pesoInput.text as NSString).floatValue
meta = peso * coef
metaLabel.text = NSString(format: "%.2f", meta)
Как вы можете видеть, я должен выполнить операции, которые будут определять «мета» и затем покажите его в металинии UILabel.
Я установил println заказы на печать трех поплавков, и все они верны, включая результат операции.
Однако, это дает мне эту ошибку в консоли:
fatal error: unexpectedly found nil while unwrapping an Optional value
Эта ошибка редактора:
Thread 1:EXC_BAD_INSTRUCTION (code=EXC_I386_INVOC, subcode=0x0)
И только так вы знаете, в области отладки, только ноль значение что существует, есть:
metaLabel = (UILabel!) = nil
metaLabel в раскадровке Isnt пуст, он установлен на 0,01, так как я тестировал на посмотрите, был ли тот факт, что был 0,00, возникла нуль ...
Нужна помощь, ребята! Благодаря!
EDIT:
Вот весь код, ребята:
import UIKit
import Foundation
class ViewController: UIViewController{
//Vars Sexo, Peso e Coef
var sexo = ""
var peso : Float = 0.0
var coef : Float = 0.039
var meta : Float = 0.0
//Alerta
var tituloalertaPeso = "Peso Inválido"
var mensagemalertaPeso = "Por favor, cheque o peso!"
@IBAction func botaoMasc(sender: AnyObject) {
var sexo = "masculino"
}
@IBAction func botaoFem(sender: AnyObject) {
var sexo = "feminino"
}
@IBOutlet weak var pesoInput: UITextField!
@IBOutlet weak var metaLabel: UILabel!
@IBAction func okConfig(sender: AnyObject) {
metaLabel.text = "0.01"
//CONVERSAO STRING -> FLOAT
if (pesoInput.text as NSString).floatValue < 10 || (pesoInput.text as NSString).floatValue > 160 {
let alertaPeso = UIAlertController(title: "Peso Inválido", message:
"Por favor, precisamos do seu peso para fazer os cálculos!", preferredStyle: UIAlertControllerStyle.Alert)
alertaPeso.addAction(UIAlertAction(title: "Ok", style: UIAlertActionStyle.Default,handler: nil))
self.presentViewController(alertaPeso, animated: true, completion: nil)
}
else {
peso = (pesoInput.text as NSString).floatValue
meta = peso * coef
// THE FOLLOWING LINE IS THROWING THE EXC:
metaLabel.text = NSString(format: "%.2f", meta)
}
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
С какой функцией (например, viewDidLoad() ...) называется ваша часть кода? –
Это в IBAction, я выложу весь код! –
Просьба указать строку, исключающую исключение –