단일 viewcontroller 재사용하고 싶지만 약간 re-purpose 및 다른 속성을 기반으로 설정할 수있는 속성이 필요한 구조화 된 방법이 있는지 궁금하네요.스위프트 : 설정중인 다른 속성을 기반으로 속성을 요구할 수 있습니까?
For example assume that the viewcontroller has the following properties - var displayMode: DisplayMode // see below - var id: Int - var description: String - var name: String
우리가 빨리보기 모드에있는 경우는 내가 ID 및 설명 값이 설정 될 것으로 예상된다. 그렇지 않으면 defaultView 모드에있는 경우 Name 속성을 설정해야합니다.
enum DisplayMode {
case quickView
case defaultView
}
분명히 난 그냥 사람들을 설정하고이 설정 될 것으로 예상하지만, DisplayMode를 유형에 중첩 된 특성을 갖는 것처럼,이 강요하는 구조 스위프트와 같은 방법이 있는지 궁금하네요 수 있을까?
var displayMode: DisplayMode {
didSet {
if displayMode == quickview {
// self.id = whatever
// do whatever else you want
}
else if displayMode == default {
// self.id = whatever
// do whatever else you want
}
}
}
var id: Int
var description: String
var name: String
(편집 : 당신이 열거를 사용하고 있기 때문에 물론, 조금 다른 것, 그러나 당신은 그것의 요점을 얻을
어떻게 원하십니까? 값이 설정되지 않은 경우'viewDidLoad'에 앱을 충돌 시키시겠습니까? – Tj3n
@ michael-hudson : Reactive-Cocoa 나 RxSwift와 같은 반응적인 프로그래밍 프레임 워크를 사용하면 이러한 것들이 상당히 똑바로됩니다. –
@ Tj3n NRitH의 대답은 본질적으로 내 displayMode를 설정할 때 그 값을 설정할 필요가 있다는 것을 묻는 내 '요구 사항'을 만족시키는 것 같다. –