【问题标题】:'NSMutableSet' is not implicitly convertible to 'Set<NSObject>''NSMutableSet' 不能隐式转换为 'Set<NSObject>'
【发布时间】:2016-09-19 09:29:28
【问题描述】:

我正在使用 coreplot 在我的应用程序中绘制图表。 当我尝试分配 X 轴标签或主要刻度位置时,尽管 NSMutableSet 已转换为 NSObject 类型集,但它会引发错误。 这是我编写代码的方式:

xAxis.axisLabels = xAxisLabels as Set<NSObject>
xAxis.majorTickLocations = xMajorTickLocations as Set<NSObject>

抛出的错误如下

'NSMutableSet' is not implicitly convertible to 'Set<NSObject>'; did you mean to use 'as' to explicitly convert

【问题讨论】:

  • 你试过编译器的建议了吗?
  • 是的.. 编译器只是让我再次添加as Set&lt;NSObject&gt;。所以当我使用编译器建议时,它就变成了xAxis.axisLabels = xAxisLabels as Set&lt;NSObject&gt; as Set&lt;NSObject&gt;

标签: ios iphone swift core-plot


【解决方案1】:

您应该尽可能使用原生 Swift 类型而不是 Foundation 集合。这消除了铸造的需要。

var xAxisLabels = Set<CPTAxisLabel>()
var xMajorTickLocations = Set<NSNumber>()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-06
    • 1970-01-01
    • 2017-07-17
    • 1970-01-01
    • 2021-06-08
    • 2011-04-24
    相关资源
    最近更新 更多