스위프트 사전
다른 유형의 오류가 발생하는 경우에 데이터를 저장하는 사전 신속한 장애에 사용 된 것과 동일한 타입의 컬렉션은 신속한 사전 형의 검출 소자를 적용.
각각의 값 (값)에 대한 신속한 사전 (키) 고유 키, 사전 데이터 값으로 키 식별자를 연결됩니다.
상이한 데이터 항목, 데이터 사전 항목의 배열 순서는 특별히 없다. 우리는 데이터를 액세스 (키) 사전 식별자를 사용해야하고, 우리는 큰 정도이 방법 실제 동일한 방법의 사전 의미를 사용한다.
스위프트 사전 키 종류에 대한 제한은 정수 또는 문자열이 될 수는 없지만 고유해야합니다.
당신이 사전을 만들고, 변수에 할당하는 경우, 사전 수정할 수 있습니다 만들어집니다. 이것은 당신이 사전을 만든 후, 추가, 삭제, 수정하는 방법을 사전 프로젝트를 변경할 수 있다는 것을 의미한다. 사전 일정한 할당 된 경우 사전을 수정할 수없고, 사전의 크기 및 콘텐츠는 수정 될 수 없다.
사전 만들기
우리는 빈 사전의 특정 유형을 만들려면 다음 구문을 사용할 수 있습니다 :
var someDict = [KeyType: ValueType]()
빈 사전을 만드는 것입니다 다음은, 인터넷 용 키를 입력 한 문자열 유형 값은 간단한 구문은 다음과 같습니다
var someDict = [Int: String]()
다음은 사전 인스턴스를 생성하는 것입니다 :
var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]
액세스 사전
우리는 사전 인덱스에 따라 배열의 요소를 액세스 할 수 있고, 다음과 같은 구문은 :
var someVar = someDict[key]
다음 예, 우리는, 액세스 사전을 만들고 초기화하는 방법을 배울 수 있습니다 :
import Cocoa var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"] var someVar = someDict[1] print( "key = 1 的值为 \(someVar)" ) print( "key = 2 的值为 \(someDict[2])" ) print( "key = 3 的值为 \(someDict[3])" )
위의 프로그램 실행 출력은 다음과 같습니다
key = 1 的值为 Optional("One") key = 2 的值为 Optional("Two") key = 3 的值为 Optional("Three")
사전을 수정
우리는updateValue에 (forKey를 사용 :추가하거나 사전의 내용을 업데이트 할 수 있습니다. 키가 존재하지 않으면 해당 키 값을 수정할 수있는 경우, 그 값을 추가한다. updateValue에은 (_ : forKey는 :) 선택 방법은 값을 반환합니다. 다음 예는 다음과 같다 :
import Cocoa var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"] var oldVal = someDict.updateValue("One 新的值", forKey: 1) var someVar = someDict[1] print( "key = 1 旧的值 \(oldVal)" ) print( "key = 1 的值为 \(someVar)" ) print( "key = 2 的值为 \(someDict[2])" ) print( "key = 3 的值为 \(someDict[3])" )
위의 프로그램 실행 출력은 다음과 같습니다
key = 1 旧的值 Optional("One") key = 1 的值为 Optional("One 新的值") key = 2 的值为 Optional("Two") key = 3 的值为 Optional("Three")
또한 다음과 같은 키를 지정 사전의 값을 수정할 수있다 :
import Cocoa var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"] var oldVal = someDict[1] someDict[1] = "One 新的值" var someVar = someDict[1] print( "key = 1 旧的值 \(oldVal)" ) print( "key = 1 的值为 \(someVar)" ) print( "key = 2 的值为 \(someDict[2])" ) print( "key = 3 的值为 \(someDict[3])" )
위의 프로그램 실행 출력은 다음과 같습니다
key = 1 旧的值 Optional("One") key = 1 的值为 Optional("One 新的值") key = 2 的值为 Optional("Two") key = 3 的值为 Optional("Three")
키 - 값 쌍을 제거
우리는 사전에 키 - 값 쌍을 제거removeValueForKey () 메서드를 사용할 수 있습니다.키가 존재하는 경우에는 반환 닐이없는 경우, 상기 방법은, 삭제 된 값을 반환한다. 다음 예는 다음과 같다 :
import Cocoa var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"] var removedValue = someDict.removeValueForKey(2) print( "key = 1 的值为 \(someDict[1])" ) print( "key = 2 的值为 \(someDict[2])" ) print( "key = 3 的值为 \(someDict[3])" )
위의 프로그램 실행 출력은 다음과 같습니다
key = 1 的值为 Optional("One") key = 2 的值为 nil key = 3 的值为 Optional("Three")
(- 값 키) 쌍 또한 전무의 키 값을 지정하여 키 - 값을 제거 할 수 있습니다. 다음 예는 다음과 같다 :
import Cocoa var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"] someDict[2] = nil print( "key = 1 的值为 \(someDict[1])" ) print( "key = 2 的值为 \(someDict[2])" ) print( "key = 3 的值为 \(someDict[3])" )
위의 프로그램 실행 출력은 다음과 같습니다
key = 1 的值为 Optional("One") key = 2 的值为 nil key = 3 的值为 Optional("Three")
순회 사전
우리는 키 - 값 쌍의 사전을반복하기를위한 루프를 사용할 수 있습니다.다음 예는 다음과 같다 :
import Cocoa var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"] for (key, value) in someDict { print("字典 key \(key) - 字典 value \(value)") }
위의 프로그램 실행 출력은 다음과 같습니다
字典 key 2 - 字典 value Two 字典 key 3 - 字典 value Three 字典 key 1 - 字典 value One
다음과 같이 우리는 또한 사전과 (키, 값) 쌍 인덱스를 반환, 사전 탐색에 열거 () 메소드를 사용하여 예는 다음과 같습니다
import Cocoa var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"] for (key, value) in someDict.enumerate() { print("字典 key \(key) - 字典 (key, value) 对 \(value)") }
위의 프로그램 실행 출력은 다음과 같습니다
字典 key 0 - 字典 (key, value) 对 (2, "Two") 字典 key 1 - 字典 (key, value) 对 (3, "Three") 字典 key 2 - 字典 (key, value) 对 (1, "One")
배열 사전
당신은 사전 (키 - 값) 쌍의 키를 추출하고 별도의 배열로 변환 할 수 있습니다. 다음 예는 다음과 같다 :
import Cocoa var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"] let dictKeys = [Int](someDict.keys) let dictValues = [String](someDict.values) print("输出字典的键(key)") for (key) in dictKeys { print("\(key)") } print("输出字典的值(value)") for (value) in dictValues { print("\(value)") }
위의 프로그램 실행 출력은 다음과 같습니다
输出字典的键(key) 2 3 1 输出字典的值(value) Two Three One
속성을 계산
우리가 사용할 수있는 읽기 전용 키 - 값 쌍 사전의 수를 계산하는계산 속성 :
import Cocoa var someDict1:[Int:String] = [1:"One", 2:"Two", 3:"Three"] var someDict2:[Int:String] = [4:"Four", 5:"Five"] print("someDict1 含有 \(someDict1.count) 个键值对") print("someDict2 含有 \(someDict2.count) 个键值对")
위의 프로그램 실행 출력은 다음과 같습니다
someDict1 含有 3 个键值对 someDict2 含有 2 个键值对
IsEmpty 함수 속성
Y 우리는IsEmpty 함수는 읽기 전용 사전이 비어 있는지 여부를 확인하기 위해 속성, 부울 값을 반환 할 수 있습니다 :
import Cocoa var someDict1:[Int:String] = [1:"One", 2:"Two", 3:"Three"] var someDict2:[Int:String] = [4:"Four", 5:"Five"] var someDict3:[Int:String] = [Int:String]() print("someDict1 = \(someDict1.isEmpty)") print("someDict2 = \(someDict2.isEmpty)") print("someDict3 = \(someDict3.isEmpty)")
위의 프로그램 실행 출력은 다음과 같습니다
someDict1 = false someDict2 = false someDict3 = true