Swift中的私有静态变量不会在AppCode中编译,但会在Xcode中编译

时间:2019-01-24 10:59:40

标签: swift appcode

我有一个拥有私有静态常量的类:

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抱怨:

  

加农炮进入MY_CONSTANT。在A

中是私有的

我知道它是私有的,但是该类是在A类的方法内部定义的。

但是,一个编译器抱怨而另一个编译器却没有抱怨更令人着迷。

我想这是因为某种设置。知道在哪里更改吗?

1 个答案:

答案 0 :(得分:1)

您看到的不是编译器错误,而是AppCode自己分析的一部分,在这种情况下是错误的。 (很抱歉,我已经为您创建了an issue,并将尽快修复。)

您仍然应该能够编译和运行您的项目。如果没有,则是由另一个问题引起的。