Приложение Swift падает, когда я вызываю метод из проекта зависимости (фреймворка) - PullRequest
0 голосов
/ 19 февраля 2020

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

У меня есть проект с именем Application, а другой - с именем Core.

In "Application. «У меня есть раскадровка, в которой есть HomeViewController, который импортирует Core.

В ViewDidLoad HomeViewController у меня есть настраиваемая кнопка с именем btnLater типа RGButton, которая объявлена ​​внутри проекта Core.

Xcode's Автозаполнение распознает методы publi c, когда я набираю «self.btnLater». или "RGButton."

Класс RGButton для проекта Core:

public class RGButton: UIButton {

// corner radius
public func borderRadius(radius : CGFloat) {
    self.layer.cornerRadius = radius
}
...

HomeViewController ViewDidLoad () для проекта приложения

...
self.btnLater.layer.cornerRadius = 4
self.btnLater.borderRadius(radius: 4.0)
...

Поэтому, когда я запускаю проект .. на линии

self.btnLater.layer.cornerRadius = 4

нет cra sh ... Но на линии

self.btnLater.borderRadius (радиус: 4.0)

сбой со следующей ошибкой:

Поток 1: EXC_BAD_ACCESS (код = 257, адрес = 0x1a258656e61)

Боюсь, что некоторые конфигурации проекта могут быть причиной этого ... но мне нужно немного света, чтобы понять, что инопланетяне делают с моим проектом ...

Заранее спасибо!

1 Ответ

0 голосов
/ 19 февраля 2020

Я выяснил, в чем проблема ... Так что все, кто переводит свой проект в модульный, обращают внимание, когда вы используете объекты пользовательского интерфейса на раскадровке ... вы должны заменить Module на Core (в моем случае)

И убедитесь, что все Bundle.main в вашем проекте указывают на Bundle (идентификатор: indetifier.of.framework ")

...