2016-07-07 4 views
1

스위프트 클래스 프로퍼티에 문제가있어 무엇을 검색해야할지 모르겠습니다.스위프트 클래스 사용자 정의 유형 프로퍼티

나는 이런 식으로 뭔가를 만들려면 :

defenceSystem.status = status.online 
defenceSystem.status = status.offline 
defenceSystem.status = status.destroyed 

그래서 기본적으로 나는 status 재산 원하는 (또는 클래스를, 그것이 있어야 확실하지) 3 개 값을 가지고 : online, offlinedestroyed을.

하지만 그 3 가지 속성에 String, Int 또는 다른 형식이 아닌 사용자 지정 유형이 있어야합니다. 기본적으로 나는 그들에게 아무것도 저장할 것을 원하지 않는다. 플래그처럼 행동하십시오.

은 내가 이런 식으로 뭔가를 작성해야한다고 생각 : 난 그냥 var online를 작성 시도

class defenceSystem { 
    class status { 
    // Declare the 3 status types 
    } 
    var status = status() 
    defenceSystem.status = status.online 
} 

하지만, 엑스 코드는 유형을 필요로했다.

답변

3

enum을 사용하여 세 가지 상태를 유지할 수 있습니다. 예 :

class DefenceSystem { 
    enum Status { 
     case Online 
     case Offline 
     case Destroyed 
    } 

    var status: Status 

    init(status: Status) { 
     self.status = status 
    } 
} 

let defenceSystem = DefenceSystem(status: .Online) 

print(defenceSystem.status) // Online 
defenceSystem.status = .Offline 
print(defenceSystem.status) // Offline 
0
enum Status 
    { 
     case online 
     case offline 
     case destroyed 
    } 

    class defenceSystem:<Your Super class> 
    { 
      var status:Status 

    } 

class ViewController: UIViewController { 

    override func viewDidLoad() 
    { 
     super.viewDidLoad() 

     let defence = defenceSystem(); 

     defence.status = Status.online 
     print(defence.status) 
     defence.status = Status.offline 
     print(defence.status) 
     defence.status = Status.destroyed 
     print(defence.status) 

    } 
} 

를 사용하여 정의 된 모든 옵션을 사용하여 상태를 열거하고 열거의 속성을 만들고 필요에 따라 열거 값을 설정합니다.

https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Enumerations.html

나는 당신의 요구 사항이 충족되어 바랍니다.

관련 문제