swift - “Int”无法转换为 'Range<Int>'

标签 swift type-conversion xcode6

我最近从 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 对于该行的错误并不总是正确的,并且没有指出问题的正确根源。

关于swift - “Int”无法转换为 'Range<Int>',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26524896/

相关文章:

ios - 如何在 XCode 6 中对齐标签垂直居中

ios - 呈现 UIActivityViewController 时发出警告

swift - NSInternalInconsistencyException _variable 不是 projectName.Classname 的属性

mysql - 将字符串构建的位图 (100101) 转换为 SQL 中的 int 值

c++ - static_cast<类型>() 与类型 ()

ios - "Struct"的不可变值仅具有名为 "Function"的变异成员

ios7 - 从字典中获取任何对象

ios - 获取 TextField 和键盘之间的高度

swift - 在 AudioKit 中循环遍历结构数组

c++ - 模板类中的类型转换运算符 - 无论显式如何调用