EXC_BAD_ACCESS на не ноль UIView - PullRequest
0 голосов
/ 07 июля 2019

РЕДАКТИРОВАТЬ: Это, кажется, ошибка Swift или Cocoapods.LinePlot определяется в Cocoapod.Когда я внедряю свой код фреймворка непосредственно в мой проект, все нормально.

РЕДАКТИРОВАТЬ 2: При configure мой массив plotPoints имеет только одно значение (замечено в отладчике)!Что может случиться?Опять же, скопировав код моего фреймворка и используя этот новый объект, все работает нормально, у моего массива есть свои значения.

Я получаю неправильный доступ при вызове метода в пользовательском UIView (LinePlot).Представление представлено в порядке и выделено в порядке, но вызов этого метода приводит к ошибке.

Я попытался использовать отладчик и проверить данные экземпляра tableViewCell.

let customView = LinePlot()

public func configure<ViewDataModel>(model withViewData: ViewDataModel) {
        guard let viewData = withViewData as? StockPlotViewData else {
            fatalError("Wrong type sent to StockPlotCell")
        }

        contentView.addSubview(customView)
        backgroundColor = .blue
        setupCustomView()

        let plotPoints: [CGPoint] = viewData.points.map { (doublePoint) -> CGPoint in
            let (x,y) = doublePoint
            return CGPoint(x: x, y: y)
        }

        customView.configure(withViewData: plotPoints, fillColor: .clear, graphLineWidth: 5.0)
    }

Я ожидаю, что 'LinePlot' будет выделен и его методы можно будет безопасно вызывать.Однако я получаю следующую ошибку:

Thread 1: EXC_BAD_ACCESS (code=2, address=0x10c35e750)

on line

        customView.configure(withViewData: plotPoints, fillColor: .clear, graphLineWidth: 5.0)
...