好吧,所以我正在构建一个应用程序,它使用文本字段接受一系列int值,并根据初始化的密码对其进行加密。最初我使用.toInt()函数将我的数字字符串值转换为整数数组。然后我将密码添加到整数数组中的每个值,但是我很难将int数组输出回带有加密序列的文本字段。我已经彻底研究了这个,我似乎找不到足够的函数来将我的int数组(命名为:code)转换回一个字符串,我可以初始化为message1.text =字符串数字序列。
到目前为止,这是我的代码:
类ViewController:UIViewController {
@IBOutlet var text: UITextField!
@IBOutlet var Lable: UILabel!
@IBOutlet var Button: UIButton!
@IBOutlet var message1: UITextField!
@IBOutlet var Button2: UIButton!
var name = 0
@IBAction func Button(sender: UIButton) {
name = text.text.toInt()!
}
@IBAction func Button2(sender: UIButton) {
var code = Array (message1.text).map{String($0).toInt()! }
for var n = 0 ; n < code.count; n++
{
code[n] = code[n] + name
}
var StringArray = (code : String()) // This is the mistake, I want to convert the code array into a joint string,
message1.text = StringArray
}
我已经知道我尝试做的事情不起作用,因为当我运行应用程序并按下Button2时,我在文本字段中没有任何文本,因此它是一个合法的语句,字符串数组不是按预期初始化。 非常感谢任何帮助,感谢您抽出时间我开始使用应用程序编程,我仍然在相对简单的事情上苦苦挣扎,所以我理解答案是否过于明显。
答案 0 :(得分:0)
如果要从数组中创建字符串:
var spaceSeparatedString = " ".join(StringArray)
这将使用空格作为分隔符从数组中创建一个字符串。例如:&#34; string1 string2 string3&#34;。
答案 1 :(得分:0)
您需要做的就是将值重新映射回字符串并加入它们:
var stringOfCodes = "".join( code.map { "\($0)" } )
这为您提供了代码值中的单个字符串。我觉得有一种更优雅的方式来实现这一目标,但这就是我想到的。