2015-03-06 17 views
6

ottengo questo errore in rapidaSwift: Enum 'non può essere costruito perché non ha inizializzatori accessibili' non può essere costruita

'BlockColor' perché non ha accessibili initializers

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)))! 
} 
} 

Ho ricevuto un errore in questa riga

Ho rivisto il mio codice molte volte ma non sono riuscito a trovare dov'è l'errore

+1

Strano. Il tuo codice viene compilato senza errori nei miei progetti Xcode 6.1.1 e Xcode 6.3 beta 2. –

risposta

0

problema risolto :) sembra che il problema fosse con il mio Xcode 6.0. il codice funziona bene in Xcode 6.2 beta.

+1

Un problema di versioni di Swift? –

9

Ho ricevuto lo stesso errore. Il mio errore è stato che non ho menzionato alcun tipo di ritorno (Int) per il metodo enum (enum BlockColor: Int). dopo l'inizializzazione del tipo di ritorno Int. Funziona ora.

+0

Man do I love StackOverflow. –

Problemi correlati