Подтвердить что ты не робот

Импорт Swift в Swift: "Использование необъявленного типа" MyCustomView "

У меня есть проект Swift, в котором я добавил цель рамки с пользовательским подклассом UIView, поэтому я могу использовать новый просмотр в режиме реального времени в Interface Builder в Xcode 6. Но когда я пытаюсь добавить @IBOutlet в мой UIViewController в моем проекте, я получаю "Использование необъявленного типа" MyCustomView ", и я не могу создать свой проект.

Здесь мой код из подкласса UIViewController:

import UIKit
import MyCustomFramework


class MyViewController: UIViewController {

    @IBOutlet var myCustomView: MyCustomView?

}

И вот что означает "MyCustomView.swift" в мишени "MyCustomFramework":

import UIKit

@IBDesignable class MyCustomView: UIView {

    @IBOutlet var imageView: UIImageView?

    init(coder aDecoder: NSCoder!) {
        super.init(coder: aDecoder)
    }
}

Кто-нибудь знает, что я забыл? Я импортировал его неправильно? Я что-то пропустил?

4b9b3361

Ответ 1

Вы должны пометить класс как public, поскольку он является частью другого фрейм-модуля

@IBDesignable public class MyCustomView: UIView {

}

По умолчанию классы и методы будут находиться на уровне доступа internal. Если вы хотите использовать эту сторону этой цели, вы должны пометить ее как общедоступную. Тогда только это будет часть открытого интерфейса (видимая вне цели)

Ответ 2

Я столкнулся с такой же ошибкой после импорта моей пользовательской структуры A внутри другого проекта B, даже все мои классы были общедоступными.

Я решил это, изменив настройки здания моей пользовательской структуры A в Build Active Architecture только на No вместо Yes, затем очистив компиляцию и reimport фреймворк снова после удаления старого.

Затем все скомпилировано успешно.

Ответ 3

Я сталкиваюсь с той же проблемой с общественным классом Даже Build Active Architecture установлен на Нет. Проводное поведение. Я не знаю, как решить это.