2016-06-30 10 views
0

私はすでにこれについていくつかの回答があることを知っていますが、他のクラスで識別されている変数や定数について話しているので、 t。ここで未解決の識別子の使用(単一クラスの一部)

は(私は他のファイルにコードを加えていない)

class ViewController: UIViewController, UITextFieldDelegate { 

    // MARK: Properties 

    @IBOutlet weak var textFieldA: UITextField! 

    @IBOutlet weak var textFieldB: UITextField! 

    @IBOutlet weak var textFieldC: UITextField! 

    @IBOutlet weak var answerLabel: UILabel! 

    @IBOutlet weak var answerLabelNegative: UILabel! 

    @IBOutlet weak var whatEquation: UILabel! 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     textFieldA.delegate = self 
     textFieldB.delegate = self 
     textFieldC.delegate = self 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 

    // MARK: UITextFieldDelegate 

    func textFieldShouldReturn(textField: UITextField) -> Bool { 
     // Hide the keyboard. 
     textFieldA.resignFirstResponder() 
     textFieldB.resignFirstResponder() 
     textFieldC.resignFirstResponder() 
     return true 
    } 



    // MARK: Actions 

    @IBAction func solveButton(sender: AnyObject) { 

     let a:Double! = Double(textFieldA.text!)  // textfieldA is UITextField 
     let b:Double! = Double(textFieldB.text!) // textfieldB is UITextField 
     let c:Double! = Double(textFieldC.text!) // textFieldC is UITextField 
     let z: Double = (b * b) + 4 * a * c 
     answerLabel.text = "Positive equation x = \(-b + (sqrt(z)/2 * a))" 
     answerLabelNegative.text = "Negative equation x = \(-b - (sqrt(z)/2 * a))" 




     // These conditional statements are used to determine whether a + or a - should be infron of th number 

     if a < 0 { 
      let aValue: String = "-" 
     } else { 
      let aValue: String = " " 
     } 

     if b < 0 { 
      let bValue: String = "-" 
     } else { 
      let bValue: String = " " 
     } 

     if c < 0 { 
      let cValue: String = "-" 
     } else { 
      let cValue: String = " " 
     } 

     whatEquation.text = "\(aValue)\(a) \(bValue)\(b) \(cValue)\(c)" //This is where the error occurs, on the "whatEquation.text" line 

    } 




} 
+1

'self.whatEquation.text'おそらく? – Dershowitz123

答えて

2

彼らは唯一の場合の内部に存在するようにするには、if文の内側にaValuebValuecValueを定義している私のviewcontroller.swiftです文が定義されており、テキストを設定している最後の行には表示されません。

最後の行に表示される範囲で定義されるように変更する必要があります。

let aValue = a < 0 ? "-" : " " 
let bValue = b < 0 ? "-" : " " 
let cValue = c < 0 ? "-" : " " 

whatEquation.text = "\(aValue)\(a) \(bValue)\(b) \(cValue)\(c)" 
+0

どうもありがとう、ありがとう。 – RufusV

0

aValuebValuecValueif範囲で定義され、もしブロックの外側にアクセスすることができません。 @IBOutletの定義の下で(グローバル変数として)定義する必要がありますので、コード内のどこでも使用できます。

var aValue: String! 
var bValue: String! 
var cValue: String! 

そして、あなたの中にあなたがa、b及びcの値にテキストを割り当てる際にブロックがletを削除する場合。

関連する問題