“Int”不能转换为“Range<Int>”

问题描述 投票:0回答:2

我最近从 Xcode 6.0 迁移到 Xcode 6.1,并且之前编译正常的一些代码出现了编译错误。

这是导致错误的行:

 self.possibleWidgetUnits[widgetSizes.Small.rawValue] = WidgetFormat(width:1.0, height:1.0)

错误是:

 'Int' is not convertible to 'Range<Int>'

这是我的变量声明:

typealias WidgetFormat = (width:Int, height:Int)
var possibleWidgetUnits:[WidgetFormat]

这些线条有什么问题吗?

编辑:

enum widgetSizes : Int {
case Small = 0
case Medium = 1
case Large = 2
}
swift type-conversion xcode6
2个回答
2
投票

当您分配 WidgetFormat 时,您的问题可能会出现,您应该尝试删除“.0” xcode 可能会尝试声明 Double 而不是 Int。

像这样:

self.possibleWidgetUnits[widgetSizes.Small.rawValue] = WidgetFormat(width:1, height:1)

Xcode 对于该行的错误并不总是正确的,并且没有指示问题的正确根源。


0
投票

谢谢大家的回答! 不过,我需要更多的时间和研究才能完全掌握这一点

© www.soinside.com 2019 - 2024. All rights reserved.