2017-02-15 10 views
1

"동적"속성이있는 구조체를 만들려면 Swift에서 사용할 수 있습니까?개체/구조체의 사용자 지정/동적 속성

즉, 일부 JSON API에서 반환되는 사전이 있고 빌드시에 name 인 것을 알고있는 경우 id이 포함되어 있습니다.

그럼 난 같은 구조체를 구축 할 수 있습니다 ...

struct MyStruct { 
    let name: String 
    let id: String 
} 

그러나 사전이 정의가 age 같은 속성 경우 ... 나는 런타임에 구조체에 입력 된 속성을 추가 할 수있는 뭔가를 할 수 ?

이런 종류의 일은 Objective-C에서 가능했지만 훨씬 더 많은 런타임 컨트롤이 있다고 생각합니다.

스위프트에서 가능합니까?

감사

다음과 같이

답변

0

간단히 선택 사항입니다 클래스에 변수를 추가 :

+1

네 도움이

var age: Int? 

희망,하지만 난 myObject.age''사용할 수 없으며, 형식화 된 출력을 얻습니다. 그게 가능하지 않은 경우 원시 사전을 사용하지 않고 구조체를 전혀 사용하지 않을 것입니다. D – Fogmeister

+0

미안하지만 선택 사항으로 나이를 저장할 예정입니다. 내 대답을 편집했습니다 – Florensvb

+0

하지만 컴파일 타임에 알고있는 경우에만 나이 라 불리는 것입니다. 필자는 코드를 작성할 때 어떤 유형과 속성의 이름이 존재하는지 반드시 알 필요가 없습니다. (그것이 의미가있는 경우). – Fogmeister