我正在尝试制作一个程序,只需点击一下按钮,就可以将输入UITextField1
的字符转换为UITextField2
中的二进制代码。到目前为止,当一次输入一个字母时,我能够成功地使程序运行。例如,如果我在"a"
中输入字母UITextField1
并点击转换按钮,则会将其转换为"01100001"
到UITextField2
,没有任何问题。但是,如果我尝试输入不同字母的组合,例如"ab"
或"ba"
,程序将不知道该怎么做。
为了涵盖可以一次输入的所有可能的字符组合,我认为做一些像UITextField
分析并一次转换每个字符一样的事情是最合适的。
下面是我在Xcode 7.3.1中使用的Swift代码以及运行时程序的屏幕截图。
希望我想要完成的事情并不难做到。我对编程也很陌生,所以请原谅我。
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])
}
}
答案 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
,并且不需要这两个词典theLetters
,theBinary
(因为我们无法映射所有二进制文件和hexes)。
如果您有任何其他问题,请发表评论,谢谢。