2017-10-31 1 views
1

나는 약 tuple 하나 언급 혜택, 사전 한 번 다중 값을 반환 할 때 튜플 대 NSDictionary는 동일하게 보입니까?

ex: let nameAndAge = (name:"Jon", age:10)

에서만 데이터 형식 값을 포함 할 수 있습니다

  • 튜플은 서로 다른 데이터 유형 서로 다른 값을 포함 할 수있다 배웠다

    하지만 사전이 올바른 경우 여러 데이터 유형 (기본이 아닌 데이터)을 반환 할 수도 있습니다.

    NSDictionary *dict= @{@"name":@"jon",@"age":[NSNumber numberWithLongLong: age],@"array":[NSArray new]} ... etc; 
    

    이것은 사전에 전달 된 다른 데이터 유형입니다. 누락 되었습니까? 감사.

+0

지점 코드 마녀가 데이터를 얻을 것이다위한 경우. 당신이 dict을 반환한다면, 터플로 무엇이 들어 있는지 알 수 없습니다. 튜플에 관해 말할 때 – CZ54

+0

의 내용을 정확하게 알고 있습니다. 우리는 Swift를 사용하고 있습니다. NSDictionary는 Objective C에서 사용되어 Swift로 포팅 된 레거시 유형입니다. 신속하게, 우리는 사전과 여러 유형을 가지고있는 유일한 방법은 AnyObject를 사용하는 것입니다. –

답변

1

Swift의 각 변수에는 특정 유형이 있습니다 (tuple 또는 dictionary). 다음 tuple에서

:

let nameAndAge = (name:"Jon", age:10) 

nameAndAgetype

let dict = ["One": 1, 1: "One"] 

dict

유형 [AnyHashable:Any]이며, 포함 된 값으로 지칭되고, dictionary에 입력 (String, Int)

이며

let dict = ["name":"jon", "age":10, "array":[String]]

dictionary 키 - 값 쌍 유형 [String:Any]

유형을 가질 것이다 Swift

NSDictionary *dict= @{@"name":@"jon",@"age":[NSNumber numberWithLongLong: age],@"array":[NSArray new]} ... etc; 

그것이 Objective-C되어 있지만에서

모든 만족 하나이다 그것이 포함하고있는 요소들, 즉 최상위 수퍼 클래스. 신속한에서

0

:

튜플 단일 화합물 치로

튜플 기 여러 값. 터플 내의 값은 어떤 유형이든간에 서로 같은 유형일 필요는 없습니다.

사전

없이 정의 순서와 동일한 유형의 키 집합에 동일한 타입의 값 사이에 사전 저장 연관이. 각 값은 사전 내에서 해당 값의 식별자 역할을하는 고유 키와 연관됩니다.

또한 사전에는 여러 유형을 원할 경우 Any 유형으로 선언 할 수 있습니다. 예를 들어

:

var dictionary = Dictionary<String, Any>()

더 많은 정보를 들면 :

Tuple

Dictionary

관련 문제