2017-11-09 13 views
0

Xcodeプロジェクトに何らかのエラーがあります。私は変数にのみ問題がありました。私はintにtxt文字列変数を変換し、これはtxtintと呼ばれます。私は計算をしたいとき、それはnull値を持っているのでできません。なぜなら、関数 "pass"で値を与えてからtxtintがnull値をとっているので、私が引く必要がないからです。スウィフトコードの変数エラー

// 
// ViewController.swift 
// Biophere 
// 
// Created by Coder on 2017. 10. 22.. 
// Copyright © 2017. Pliz Help. All rights reserved. 
// 

import UIKit 

class ViewController: UIViewController { 

@IBOutlet weak var label: UILabel! 
@IBOutlet weak var textview: UITextField! 
@IBOutlet weak var conv: UILabel! 

var text: String? = nil 
var txt: String? = nil 
var convert: String? = nil 
var textint: Int? = nil 
var txtint: Int? = nil 



@IBAction func pass(_ sender: Any) { 
    var txt: String { 
     get { 
      return textview.text ?? "" 
     } 
     set { 
      textview.text = newValue 
     } 
    } 
      //conv.text = txt 


} 




override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 
    label.text = text 
    txt = textview.text 


} 

@IBAction func saveButton(_ sender: Any) { 
    let textint = Int(text!) 
    let txtint = Int(txt!) 

    convert = String(textint! - txtint!) 
    conv.text = txt 
} 


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


} 

ERROR:スレッド1:EXC_BAD_INSTRUCTION(コード= EXC_I386_INVOP、サブコード= 0x0の)

+1

あなたが投稿したコードからは、オプションの "text"変数に有効な値を置くことは決してありません。それでも、それがまだnilのときはviewDidLoadで使用するだけです。これは、saveButtonメソッドでアンラッピングするとアプリケーションがクラッシュすることを意味します。 あなたは何を正確にしたいのか説明できますか? –

+0

"nil"と宣言するのではなく単に空白として定義するだけです。 var text = ""およびvar textint = 0。コンプライアーは自動的に変数のタイプを扱います。 –

答えて

0
var text: String = "" 
var txt: String = "" 
var convert: String = "" 
var textint: Int = 0 
var txtint: Int = 0 

@IBAction func saveButton(_ sender: Any) { 
    if let textint = Int(text), let txtint = Int(txt) { 
     convert = String(textint - txtint) 
     conv.text = txt 
    }else{ 
     print("handle it") 
    }  
} 

提案:それは開発のための基本的なことであるわかりやすい変数名を付けるようにしてください。

+0

まだ動作していない、何もしていない –

+0

まだクラッシュしていますか? –

+0

クラッシュしていませんが、何もしません –

関連する問題