例如:a = 1,b = 2,c = 3,依此类推,直到我得到z = 26.
如何使用用户键入的文本字段中的每个字母,同时使用先前分配给字母表中字母的值?
完成此 *** 作后,如何将所有字母值相加以获得整个单词的总和.我正在寻找最简单的方法来完成这个,但按照我希望的方式工作.
有什么建议么?
提前致谢.
编辑/更新:Xcode 7.2.1•Swift 2.1.1import UIKitclass VIEwController: UIVIEwController { @IBOutlet weak var strWordValue: UILabel! @IBOutlet weak var strinputFIEld: UITextFIEld! 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 sumLettersAction(sender: AnyObject) { strWordValue.text = strinputFIEld.text?.wordValue.description }}
扩展
extension String { var letterValue: Int { return Array("abcdefghijklmnopqrstuvwxyz".characters).indexOf(Character(lowercaseString))?.successor() ?? 0 } var wordValue: Int { var result = 0 characters.forEach { result += String(func letterValue(letter: String) -> Int { return Array("abcdefghijklmnopqrstuvwxyz".characters).indexOf(Character(letter.lowercaseString))?.successor() ?? 0}func wordValue(word: String) -> Int { var result = 0 word.characters.forEach { result += letterValue(String().letterValue } return result }}extension Character { var lowercase: Character { return Character(String(self).lowercaseString) } var value: Int { return Array("abcdefghijklmnopqrstuvwxyz".characters).indexOf(lowercase)?.successor() ?? 0 }}extension String { var wordValue: Int { return Array(characters).map{ .value }.reduce(0){ + } }}"Abcde".wordValue // 15)) } return result}let aValue = letterValue("a") // 1let bValue = letterValue("b") // 2let cValue = letterValue("c") // 3let zValue = letterValue("Z") // 26let busterWordValue = wordValue("Buster") // 85let busterWordValueString = wordValue("Buster").description // "85"
//
总结以上是内存溢出为你收集整理的如何在分配值时使用Swift循环整个字母表?全部内容,希望文章能够帮你解决如何在分配值时使用Swift循环整个字母表?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)