In ViewController there are 2 fields and a button. The meaning is that an English word is displayed in 1 field (randomly), and a translation of this word is displayed in 2 field. And a button for random word generation.

I created 2 arrays for English words, and for Russian:

var englishWord = ["Apartment", "Actor", "Arm", "Anger", "Ash", "Army", "Action", "Attitude", "Aisle", "After"] var russianWord = ["Комната; Квартира", "Актер, Артист", "Рука", "Гнев", "Зола, Пепел; Прах", "Армия", "Поступок, Действие", "Позиция; Отношение к", "Проход", "prep- После, Через; adv- Потом"] 

Geter and setter for display in the fields

 var english: String { get { return englishInput.text! } set{ let englishvalue = "\(newValue)" englishInput.text = "\(newValue)" } } var russia: String { get { return russianInput.text! } set{ let russiavalue = "\(newValue)" russianInput.text = "\(newValue)" } } 

If you write this:

  englishInput.text = String(arc4random_uniform(UInt32(englishWord.count))) 

Only array elements are displayed.

And if you write this:

 let engRandom = String(arc4random_uniform(UInt32(englishWord.count))) englishInput.text = [engRandom] 

then throws a mistake.

    1 answer 1

    You generate a number, but do not take an element from the array at this index, but output this number.

    It should be:

     let index = Int(arc4random_uniform(UInt32(englishWord.count))) englishInput.text = englishWord[index] russianOutput.text = russianWord[index]