перечисление не может быть создано, поскольку у него нет доступных инициализаторов

#ios #swift #struct #enums #controller

#iOS #swift #структура #перечисления #контроллер

Вопрос:

Я пытаюсь создать какую-то часть «пошагового руководства», которую пользователь должен иметь возможность «прокручивать». Я столкнулся с этой проблемой «PageTut не может быть создан, поскольку у него нет доступных инициализаторов»

Два компонента находятся в разных пакетах, я даже пытался установить структуру как общедоступную, но все равно не сработало

Я просмотрел это, но я просто не могу найти что-то полезное для решения моей проблемы, и это действительно расстраивает. Кто-нибудь знает, как я могу решить проблему? Любая помощь или идея были бы высоко оценены

 import UIKit

public struct PageTut {

    let TutTitle: String
    let TutDescr: String
    let TutImageSrc: TutImageSrc

    public enum TutImageSrc {
        case name(String)
        case src_url(URL)
    }

}
  

и в другом файле

 import UIKit

class TutViewController: UIViewController {

    private var pages = [PageTut]()

    override func viewDidLoad() {
        super.viewDidLoad()
        configPages()
    }

    private func configPages() {
        pages.append(PageTut(TutTitle: "", TutDescr: "", TutImageSrc: PageTut.TutImageSrc("")))
    }
}
  

Ответ №1:

 PageTut(TutTitle: "", TutDescr: "", TutImageSrc: PageTut.TutImageSrc("")) 
  

должно быть

  PageTut(TutTitle: "", TutDescr: "", TutImageSrc: .name("your image"))