2017-06-24 58 views
0

我想我的問題的解決方案。如何計算字符串在Xcode中的文本字段8.3.3

我有文本字段在Xcode和我想的Xcode計算串那用戶輸入:

var x = 1 
var y = 2 

這樣 我想,如果一個文本字段中用戶輸入xy,Xcode的計算,如:1+2

import UIKit 

class ViewController: UIViewController, UITextFieldDelegate { 

    @IBOutlet var label1: UILabel! 
    @IBOutlet var label2: UILabel! 
    @IBOutlet var label3: UILabel! 
    @IBOutlet var label4: UILabel! 
    @IBOutlet var tex1: UITextField! 
    @IBOutlet var tex2: UITextField! 
    override function viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 
     tex1.delegate = self 
     tex2.delegate = self 
    } 

    override function didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 
    function textFieldShouldReturn(_ textField: UITextField) -> Bool{ 
     tex1.resignFirstResponder() 
     tex2.resignFirstResponder() 
     return true 
    } 

    @IBAction function close(_ sender: UIButton) { 
     tex1.resignFirstResponder() 
     tex2.resignFirstResponder() 
    } 

    @IBAction function pushAction(_ sender: UIButton) { 
     label4.text = String(Int(tex1.text)+Int(tex2.text)) 
    } 
} 

回答

-1

你可以使用這樣

 label4.text = "\(((tex1.text?.characters.count)! + (tex2.text?.characters.count)!))" 
+0

此代碼收集的字符串旁在一起,但是,我想收集字符串的值這就是用戶間,例如:[J = 1,o是3,H = 8和n = 2]如int,用戶插入約翰,程序收集j + o + h + n - > [1 + 3 + 8 + 2] = 14的值 –

0
var temp = 0 
    var prevCount = -1 
    func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool { 

     var txtAfterUpdate:NSString = textField.text! as NSString 
     txtAfterUpdate = txtAfterUpdate.replacingCharacters(in: range, with: string).trimmingCharacters(in: CharacterSet.whitespacesAndNewlines) as NSString 
     let newString:String! = String(txtAfterUpdate) 
     if(prevCount > newString.characters.count - 1){ 
      if(newString.characters.count - 1 != -1){ 

       self.enterAmount = self.enterAmount - Double(textField.text![(textField.text?.characters.count)! - 1])! 

      }else{ 
       self.enterAmount = 0 
      } 

     }else{ 

      self.enterAmount = Double(newString[newString.characters.count - 1])! + self.enterAmount 

     } 
     print("YOUR TOTAL \(self.enterAmount)") 
     prevCount = newString.characters.count - 1 


     return true 
    } 

extension String{ 
     subscript(i: Int) -> String { 
     guard i >= 0 && i < characters.count else { return "" } 
     return String(self[index(startIndex, offsetBy: i)]) 
    } 
    subscript(range: Range<Int>) -> String { 
     let lowerIndex = index(startIndex, offsetBy: max(0,range.lowerBound), limitedBy: endIndex) ?? endIndex 
     return substring(with: lowerIndex..<(index(lowerIndex, offsetBy: range.upperBound - range.lowerBound, limitedBy: endIndex) ?? endIndex)) 
    } 
    subscript(range: ClosedRange<Int>) -> String { 
     let lowerIndex = index(startIndex, offsetBy: max(0,range.lowerBound), limitedBy: endIndex) ?? endIndex 
     return substring(with: lowerIndex..<(index(lowerIndex, offsetBy: range.upperBound - range.lowerBound + 1, limitedBy: endIndex) ?? endIndex)) 
    } 
} 
相關問題