Интеграция простого кода в сложный код - PullRequest
0 голосов
/ 11 ноября 2019

У меня очень простой код, который я не могу «вписать» в мой более сложный проект, потому что я начинающий программист.

Цель этого кода - генерировать случайную строку / элемент измассив, без повторений, пока весь массив не будет исчерпан.

Я вставил приведенный ниже код, который достигает нужной мне функциональности.

Моя проблема: я не могу показатьсячтобы найти способ интегрировать работающий код в мой гораздо больший проект, в котором есть совершенно отдельные папки для структур, протоколов и т. д.

Мой вопрос:

Есть ли способ взять структуру, которую я создал ниже, и интегрировать рабочий код из моего другого проекта для достижения этой цели?

Я работал надпроблема в течение нескольких дней безрезультатно.

Вот текущая "структура", которая у меня есть в сложном проекте:

import UIKit
struct Test {

    var text : String

    init(text: String) {
        self.text = text
    }
}

Вот рабочая функция, которая достигает желаемого конечного результата вмой другой проект:

    var array = ["Lindsey", "Fun", "Beach", "Dog",]
    @IBOutlet var testing: UILabel!
    @IBAction func wow(_ sender: Any) {
        let randomIndex = Int(arc4random_uniform(UInt32(array.count)))

        testing.text = (array[randomIndex])

        array.remove(at: randomIndex)
    }
}

Я получил много разных ошибок, слишком много, чтобы даже начать перечислять. На данный момент я не могу понять это.

Ответы [ 2 ]

1 голос
/ 11 ноября 2019

если единственная причина, по которой вы хотите получить код из вашего другого проекта, то есть гораздо более простой вариант:

, чтобы получить произвольную запись в вашем массиве

let random = array.randomElement()

илиполучить случайный индекс

let randomIndex = Int.random(in: 0 ..< array.count)

Если вы не это имеете в виду, то вам нужно уточнить ваш вопрос.

0 голосов
/ 12 ноября 2019

Высокий. Я могу дать вам фрагмент, над которым я сейчас работаю, потому что я считаю, что точно определил, куда мне нужно его поместить. Вместо того, чтобы использовать «Структуру», я сузил ее до следующего:

func test(at index: Int) -> testview {
        let test = testview()
        let randomIndex = Int(arc4random_uniform(UInt32(array.count)))
        label.text = array[randomIndex]
        test.dataSource = array[Int(arc4random_uniform(UInt32(index)))]
        array.remove(at: index)
        return test

Я не могу заставить вышеописанное работать должным образом. Я получаю сообщение об ошибке «Не удается присвоить значение типа arraymodel типу String?» Из четвертой строки, которая начинается с «label.text»

...