2015-08-26 5 views
1

Я не могу определить employee(x:empsex , y:approval), типы недоступны.Вложенные перечисления в Struct, Swift ошибка компилятора?

Пытается использовать вложенные перечисления со структурой.

public struct Employee { 
public var empsex : Gender 
public var approval : Eligible 


public enum Gender : String{ 
    case male = "MALE" 
    case female = "FEMALE" 
    public static var genderARR = ["MALE","FEMALE"] 
} 
public enum Eligible : Int { 
    case x = 1 //yes 
    case y = 0 //no 
    public static var eligibleARR = [1,0] 
} 
} 

public struct Strofempoyestu { 
public var empdata : [Employee]=[] 


public init(){ 
    for x in Employee.Gender.genderARR{ 
     for y in Eemployee.Eligible.eligibleARR{ 
      empdata.append(Employee(x:empsex , y:approval)) 

     } 

    } 

    } 

ответ

2

Дело в том, что вы объявили genderARR в String вместо Gender и eligibleARR как Int вместо Eligible.

public struct Employee { 
    public var empsex : Gender 
    public var approval : Eligible 

    public enum Gender : String{ 
     case male = "MALE" 
     case female = "FEMALE" 
     public static var genderARR = [male,female] 
    } 
    public enum Eligible : Int { 
     case x = 1 //yes 
     case y = 0 //no 
     public static var eligibleARR = [x,y] 
    } 
} 

public struct Strofempoyestu { 
    public var empdata : [Employee]=[] 

    public init(){ 
     for x in Employee.Gender.genderARR{ 
      for y in Employee.Eligible.eligibleARR{ 
       empdata.append(Employee(empsex: x ,approval: y)) 
      } 
     } 
    } 
} 
Смежные вопросы