У меня есть класс, в котором у меня есть частная статическая константа:
class A {
private static let MY_CONSTANT = 1000
func setUp (xAxis:Charts.XAxis) {
...
}
}
Также в этом классе у меня есть метод (setUp), внутри этого метода я создаю другой класс, который использует эту константу:
func setUp (xAxis:Charts.XAxis) {
class HistogramReadLenghtFormateer:IAxisValueFormatter {
func stringForValue(_ value: Double, axis: AxisBase?) -> String {
let lowIndex = Int(value) / A.MY_CONSTANT
let topIndex = (Int(value) + A.MY_CONSTANT) / A.MY_CONSTANT
return String(lowIndex) + "K" + "-" + String(topIndex) + "K"
}
}
let histogramReadLenghtFormateer = HistogramReadLenghtFormateer()
xAxis.labelPosition = .bottom
xAxis.labelFont = .systemFont(ofSize: 6)
xAxis.granularity = Double(A.MY_CONSTANT)
xAxis.labelCount = 7
xAxis.valueFormatter = histogramReadLenghtFormateer
}
Что ж, похоже, что с Xcode все в порядке, но AppCode жалуется:
Cannon Access to MY_CONSTANT.Он закрыт в A
Я знаю, что он закрыт, но класс определен внутри метода класса A.
Но еще более интригующе то, что один компилятор жалуется, а другойодин не делает.
Я думаю, это из-за каких-то настроек.Есть идеи, где это изменить?