2016-06-26 9 views
-2

テキストフィールドでユーザーから入力値を受け取り、それを使ってSwiftで数学関数を実行するにはどうすればよいですか?UITextFieldに入力された値を使用する

ユーザーから値を取得し、その値の正弦を探したいとします。 私は入力を取り、それをラジアンに変換したいと思います。 助けてください。

+3

テキストを取って、必要に応じてintまたはdoubleなどを作成し、それに「sin」を適用することで問題はどこだ? – luk2302

+0

実際に私は初心者ですので、いくつかの種類のサンプルコードを私に提供できますか? –

+0

ボタンとテキストフィールドとラベルがあるようにユーザーがテキストフィールドに数字を入力するとボタンが押され、その罪がラベルに表示されます –

答えて

0

の編集が完了したときを決定するために、以下の機能を追加する必要が 上記のようUITextFieldDelegateを追加し、あなたはIBOutletとしてテキストフィールドを持っています。私は値を取得するためのボタンを追加しました:

@IBOutlet weak var textField: UITextField! 

@IBOutlet weak var label: UILabel! 

@IBAction func buttonPress(sender: AnyObject) { 
    guard let text = textField.text, value = Double(text) else { return } 

    label.text = String(sin(value)) 
} 

テキストがnilであるか、それはDoubleない場合は、それだけでreturn、(何もしなかっただろう場合は何であるので、私はguardを使用してきた理由は、が欲しいです)。この方法では、値を計算しようとするときに予想外のクラッシュを心配する必要はありません。

+0

おかげでたくさんちょうど –

+0

それをしようとそれが取るんラジアンまたは度での評価者 –

0

let sinValue = sin(Double("2")!)

は、テキストフィールドからテキストを取得するには、罪の値

に文字列をどのように処理するかで、あなたのような何か必要があります:

let sinValue = sin(Double(someTextField.text)!)

が、あなたを最初にテキストフィールドに値があることを確認し、クラッシュを防止する数値であることを確認する必要があります。

+0

の感謝はそれをしようと... –

+0

[OK]を、今ラベル –

+0

someLabel.text =「\(sinValue)」でそれを表示する方法を –

0
//Initialize Textfied 
var textField = UITextField(frame: CGRect(0, 0, 100, 100)) 
var sinNumber:Double = 0  

//Now in your header (where it says class X:subclass list) 
//maybe something like class Viewcontroller:UIViewController, UITextFieldDelegate 

その後、ユーザーがあなたのコメントによると、彼らのTextField

func textFieldDidEndEditing(textField: UITextField) { 
    sinNumber = getSinOfInput(textField.text) 
} 

func getSinOfNumber(numbers:String) { 

    //If numbers is NOT a string full of numbers (it has characters), it should return nil 
    var num = Double(numbers) 
    if num != nil { 
     //Do login here to find the sin 
     num = .... 
     return num 
    } 
    else { 
     return 0 
    } 
} 
関連する問題