我最近从 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
}
当您分配 WidgetFormat 时,您的问题可能会出现,您应该尝试删除“.0” xcode 可能会尝试声明 Double 而不是 Int。
像这样:
self.possibleWidgetUnits[widgetSizes.Small.rawValue] = WidgetFormat(width:1, height:1)
Xcode 对于该行的错误并不总是正确的,并且没有指示问题的正确根源。
谢谢大家的回答! 不过,我需要更多的时间和研究才能完全掌握这一点