Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift:如何将字符串数组指定给UITextFields数组的text属性?_Ios_Arrays_Swift_Uitextfield - Fatal编程技术网

Ios Swift:如何将字符串数组指定给UITextFields数组的text属性?

Ios Swift:如何将字符串数组指定给UITextFields数组的text属性?,ios,arrays,swift,uitextfield,Ios,Arrays,Swift,Uitextfield,如果我有两个字符串数组,那么在一行代码中将一个数组分配给另一个数组就相当简单了(w/o必须使用for循环): 然而,我想用UITextFields数组做一些类似的事情,但无法理解。我觉得应该是这样的: var sArray1 = ["A","B","C"] var sArray2 = [textField1, textField2, textField3] sArray2.text = sArray1 [UITextField]没有text属性,因此不能使用sArray2.text 您可以然后

如果我有两个字符串数组,那么在一行代码中将一个数组分配给另一个数组就相当简单了(w/o必须使用for循环):

然而,我想用UITextFields数组做一些类似的事情,但无法理解。我觉得应该是这样的:

var sArray1 = ["A","B","C"]
var sArray2 = [textField1, textField2, textField3]
sArray2.text = sArray1

[UITextField]
没有
text
属性,因此不能使用
sArray2.text

您可以然后
forEach

zip(sArray2, sArray1).forEach { $0.0.text = $0.1 }

使用
枚举()的替代解决方案

输出:

[<UITextField: 0x7fd885051200; frame = (0 0; 0 0); text = 'A'; opaque = NO; layer = <CALayer: 0x6000024393e0>>, <UITextField: 0x7fd885037a00; frame = (0 0; 0 0); text = 'B'; opaque = NO; layer = <CALayer: 0x6000024394e0>>, <UITextField: 0x7fd88508f400; frame = (0 0; 0 0); text = 'C'; opaque = NO; layer = <CALayer: 0x6000024395e0>>]
[,]

您认为[UITextField]没有文本属性是什么意思?我一直在写像nameOfTextField.text=“something”这样的东西。或者您是专门指不具有该属性的UITextFields数组吗?似乎应该有一种方法。将字符串映射到字段数组中的每个字段…@Kayan
array
没有
text
属性,即使其元素有属性。您可以将文本字段映射到它们的
text
属性,但无法设置它们的文本。因为要更改文本字段的状态,所以应该使用
forEach
let sArray1 = ["A","B","C"]
let sArray2 = [textField1, textField2, textField3]

for (index, element) in sArray2.enumerated() {
    element.text = sArray1[index]
}
print(sArray2)
[<UITextField: 0x7fd885051200; frame = (0 0; 0 0); text = 'A'; opaque = NO; layer = <CALayer: 0x6000024393e0>>, <UITextField: 0x7fd885037a00; frame = (0 0; 0 0); text = 'B'; opaque = NO; layer = <CALayer: 0x6000024394e0>>, <UITextField: 0x7fd88508f400; frame = (0 0; 0 0); text = 'C'; opaque = NO; layer = <CALayer: 0x6000024395e0>>]