Swift:Enum'无法构建,因为它没有可访问的初始化程序'

时间:2015-03-06 18:14:44

标签: swift enums

我在swift中遇到此错误

  

' BlockColor'无法构建,因为它无法访问   初始化

import Foundation
import SpriteKit

let NumberOfColors: UInt32 = 6

enum BlockColor: Int, Printable {

case Blue = 0, Orange, Purple, Red, Teal, Yellow

var spriteName: String {
    switch self {
    case .Blue:
        return "blue"
    case .Orange:
        return "orange"
    case .Purple:
        return "purple"
    case .Red:
        return "red"
    case .Teal:
        return "teal"
    case .Yellow:
        return "yellow"
        }
}

var description: String {
    return self.spriteName
}

static func random() -> BlockColor {
    return BlockColor(rawValue:Int(arc4random_uniform(NumberOfColors)))!
}
}

我在这行中出错了

 return BlockColor(rawValue:Int(arc4random_uniform(NumberOfColors)))!

我已多次查看我的代码,但我无法找到错误的位置

2 个答案:

答案 0 :(得分:9)

我得到了同样的错误。我的错误是我没有提到枚举方法的任何return(Int)类型(枚举BlockColor: Int )。初始化Int返回类型后。它的作品现在。

答案 1 :(得分:0)

问题解决了:)似乎问题出在我的Xcode 6.0上。该代码在Xcode 6.2 beta中运行良好。