2016-08-13 6 views
1

저는 Swift에서 정보 그리드를 만드는 방법을 알아 내려고하고 있습니다. 그렇게하기 위해서는,이 같은 다소있는 변수를 만들 필요 해요 :스위프트 다중 값 사전

var allInformationByDate = [(2016-08-13, 21, 82, 75.75, 38.34),(2016-08-12, 23, 85, 75.25, 38.34),(2016-08-11, 23, 85, 75.25, 38.34)] 

일에 의해 서 그것은 참조 a를뿐만 아니라, 내가 해당 번호와 날짜를 추가 할 수있는 것이 중요합니다 날짜별로 날짜 수

아무에게도이를 수행하는 방법을 알고 있습니까? 많은 감사드립니다.

+0

달성하고자하는 것을 조금 더 설명 할 수 있습니까? – Harsh

+0

다른 변수 (삽입 및 복식)를이 새로운 구조의 숫자로 저장하여 나중에이 정보를 사용할 수 있기를 바랍니다. 나는 그것을 사전이라고 부르 겠지만, 사전은 엔트리 당 2 개의 변수 (단어와 정의)만을 가지고 있다고 생각하지만 엔트리마다 기록 된 변수가 더 필요하다. 이 모든 것이 의미가 있기를 바랍니다. 본질적으로, 나는 내가 준 예제 (또는 그것을 쓰는 올바른 방법)와 같은 것을 만드는 법을 묻는다. – adman

+0

결국이 정보를 사용하여 모든 정보의 그리드 또는 그래프를 만들 수 있습니다. – adman

답변

3

내가 사전은 항목 당 2 개 변수 (단어와 정의를) 생각,하지만 난 항목별로 기록 된 몇 가지 이상의 변수가 필요합니다.

그 중 일부만 맞습니다. 사전은 키를 값에 매핑합니다. 그러나 값은 하나의 정수로 제한되지 않습니다. 값은 클래스 인스턴스, struct 인스턴스, enum 인스턴스 또는 튜플/트리플/등일 수 있습니다.

let allInformationByDate = ["2016-08-13": (21, 82, 75.75, 38.34), "2016-08-12": (23, 85, 75.25, 38.34), "2016-08-11": (23, 85, 75.25, 38.34)] 

을하지만 그 말씨 :

그래서 당신은 간단하게 할 수 있습니다.

struct DayData { // Let’s guess 
    let coffeeInLiters: Int 
    let interstateRoute: Int 
    let averageBPM: Double 
    let temperatureInDegrees: Double 
} 

var allInformationByDate = [ 
    "2016-08-13": DayData(coffeeInLiters: 21, interstateRoute: 82, averageBPM: 75.75, temperatureInDegrees: 38.34), 
    "2016-08-12": DayData(coffeeInLiters: 23, interstateRoute: 85, averageBPM: 75.25, temperatureInDegrees: 38.34), 
    "2016-08-11": DayData(coffeeInLiters: 23, interstateRoute: 85, averageBPM: 75.25, temperatureInDegrees: 38.34) 
] 

는 그런 다음처럼 데이터에 액세스 할 수 있습니다 : 당신은 더 나은 데이터 표현하는 데이터 구조를 만들어야합니다

allInformationByDate["2016-08-13"]!.averageBPM 

을하고 당신이 만든 경우에 당신은

allInformationByDate["2016-08-14"] = DayData(coffeeInLiters: 25, interstateRoute: 87, averageBPM: 75.15, temperatureInDegrees: 38.34) 

같은 데이터를 추가 할 수 있습니다 coffeeInLiters a var이면 해당 변수를 업데이트 할 수도 있습니다 (예 :

).
0

당신은 사전의 배열을 만들 수 있으며, 다음과 같이 (내가 값 1, 값 더, 당신은 그러나 당신이 원하는 그들을 사용 후 당신에게 가장 적합한 무엇을 할 수와 같은 임의의 키를 생성 한)에 액세스 :

을 배열에 더 많은 사전을 덧붙이
var allInformationByDate:[[String:AnyObject]] = [["date":"2016-08-13","value1": 21, "value2": 82, "value3": 75.75, "value4":38.34],["date":"2016-08-13","value1": 21, "value2": 82, "value3": 75.75, "value4":38.34],["date":"2016-08-13","value1": 21, "value2": 82, "value3": 75.75, "value4":38.34]] 

print(allInformationByDate.first!["date"]) 
print(allInformationByDate.first!["value1"]) 

:

allInformationByDate.append(["date":"2016-08-13","value1": 21, "value2": 82, "value3": 75.75, "value4":38.34]) 
+0

고맙습니다. @가. 나중에 배열에 더 많은 사전을 추가하는 방법을 알고 있습니까? – adman

+0

인쇄 라인에서 "Expected Declaration"오류가 발생합니다. 왜 그런가? – adman