使UITextField分析在Xcode Swift中输入的个别字符而不是整体?

时间:2016-06-12 09:14:29

标签: ios swift uitextfield

我正在尝试制作一个程序,只需点击一下按钮,就可以将输入UITextField1的字符转换为UITextField2中的二进制代码。到目前为止,当一次输入一个字母时,我能够成功地使程序运行。例如,如果我在"a"中输入字母UITextField1并点击转换按钮,则会将其转换为"01100001"UITextField2,没有任何问题。但是,如果我尝试输入不同字母的组合,例如"ab""ba",程序将不知道该怎么做。 为了涵盖可以一次输入的所有可能的字符组合,我认为做一些像UITextField分析并一次转换每个字符一样的事情是最合适的。 下面是我在Xcode 7.3.1中使用的Swift代码以及运行时程序的屏幕截图。

希望我想要完成的事情并不难做到。我对编程也很陌生,所以请原谅我。

enter image description here

import UIKit

class ViewController: UIViewController {


var theLetters = ["a", "b"]
var theBinary = ["01100001", "01100010"]
var x = 0

    @IBOutlet weak var letters: UITextField!
    @IBOutlet weak var binary: UITextField!


       @IBAction func toBinary(sender: UIButton) {

        if (theLetters[x] == letters.text) {
            binary.insertText(theBinary[x])
        }

        if (theLetters[x+1] == letters.text) {
            binary.insertText(theBinary[x+1])
        }

    }

1 个答案:

答案 0 :(得分:0)

这是解决方案

    func hexToBinary(hex: String) -> String{
        let value = Int(hex, radix: 16)!
        return String(value, radix: 2)
    }

    func binaryToHex(binary: String) -> String{
        let value = Int(binary, radix: 2)!
        return String(value, radix: 16)
    }

现在您可以尝试在hexToBinary中调用toBinary,并且不需要这两个词典theLetterstheBinary(因为我们无法映射所有二进制文件和hexes)。

如果您有任何其他问题,请发表评论,谢谢。