下面是编程之家 jb51.cc 通过网络收集整理的代码片段。
编程之家小编现在分享给大家,也给大家做个参考。
// // ViewController.swift // Calculator // // Created by purkylin on 14-6-19. // copyright (c) 2014年 Purkylin. All rights reserved. // import UIKit extension String { // subscript operator override subscript(index:Int) -> Character? { var cur = 0 for c in self { if cur == index { return c } } // return nil let ret:Character? return ret } } class ViewController: UIViewController { var operand1: Int = 0; // left operand var operand2: Int = 0; // right operand var operator: Character = "#"; // operator:+-*/= @IBOutlet var resultLabel : UILabel = nil // output result 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. } @IBAction func onClick(sender : UIButton) { println("Click" + sender.titleForState(UIControlState.normal)); var label = sender.titleForState(UIControlState.normal); var c:Character = label[0]! switch c{ case "+","-","*","/": operator = c case "=": var result = 0 switch operator { case "+": result = operand1 + operand2 case "-": result = operand1 - operand2 case "*": result = operand1 * operand2 case "/": result = operand1 / operand2 default: break } resultLabel.text = "\(result)" // clear status operator = "#" operand1 = result operand2 = 0 break default: if operator=="#" { let tmp = label.toInt()! operand1 = operand1*10 + tmp resultLabel.text = "\(operand1)" } else { let tmp = label.toInt()! operand2 = operand2*10 + tmp resultLabel.text = "\(operand2)" } } } // 其实这个ACTION可以不单独提出来,都放到ONCLICK函数里处理 @IBAction func clearClick(sender : UIButton) { operand1 = 0 operand2 = 0 operator = "#" resultLabel.text = "0" } }
以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。