programing

Swift: 빈 사전을 선언합니다.

powerit 2023. 4. 19. 00:33
반응형

Swift: 빈 사전을 선언합니다.

나는 배우기 시작했다swiftiBook을 따르는 것-The Swift Programming LanguageSwift에 탑재되어 있습니다.책에는 빈 사전을 만들라고 쓰여 있다.[:]어레이를 선언할 때와 같음[]:

다음과 같이 빈 어레이를 선언했습니다.

let emptyArr = [] // or String[]()

그러나 빈 사전을 선언하면 구문 오류가 발생합니다.

let emptyDict = [:]

빈 사전을 선언하려면 어떻게 해야 하나요?

var emptyDictionary = [String: String]()

var populatedDictionary = ["key1": "value1", "key2": "value2"]

참고: 사전의 내용을 시간이 지남에 따라 변경할 계획이라면 사전 내용을 변수로 선언하십시오.var빈 사전을 상수로 선언할 수 있습니다.let그러나 초기화 후에는 상수 값을 변경할 수 없기 때문에 변경할 의도가 있다면 의미가 없습니다.

사용할 수 없습니다.[:]유형 정보를 사용할 수 없는 경우.

이 경우 명시적으로 지정해야 합니다.

var dict = Dictionary<String, String>()

var가변성이므로 엔트리를 추가할 수 있습니다.반대로, 만약 당신이 그것을let더 이상 수정할 수 없습니다(let상수를 의미합니다).

를 사용할 수 있습니다.[:]예를 들어, 유형 정보를 유추할 수 있는 경우 단축 표기법

var dict = ["key": "value"]

// stuff

dict = [:] // ok, I'm done with it

마지막 예에서는 사전이 유형을 가지고 있는 것으로 알려져 있습니다.Dictionary<String, String>첫줄로명시적으로 지정할 필요는 없지만 유추되었습니다.

Swift 문서에서는 빈 사전을 초기화하는 다음 방법을 권장합니다.

var emptyDict = [String: String]()

빈 사전을 초기화하는 방법이 다르기 때문에 이 질문을 처음 접했을 때 약간 혼란스러웠습니다.Swift가 유형을 추론할 수 있는 능력을 감안할 때, 실제로는 많은 방법이 있지만, 일부 방법은 다소 중복되거나 지나치게 장황합니다.

var emptyDict = [String: String]()
var emptyDict = Dictionary<String, String>()
var emptyDict: [String: String] = [:]
var emptyDict: [String: String] = [String: String]()
var emptyDict: [String: String] = Dictionary<String, String>()
var emptyDict: Dictionary = [String: String]()
var emptyDict: Dictionary = Dictionary<String, String>()
var emptyDict: Dictionary<String, String> = [:]
var emptyDict: Dictionary<String, String> = [String: String]()
var emptyDict: Dictionary<String, String> = Dictionary<String, String>()

빈 사전이 있으면 다음과 같이 키와 값의 쌍을 추가할 수 있습니다.

emptyDict["some key"] = "some value"

사전을 다시 비우려면 다음을 수행할 수 있습니다.

emptyDict = [:]

타입은 아직<String, String>그렇게 해서 초기화가 되었기 때문입니다.

이걸 쓰면 돼.

var emptyDict = [String: String]()

다음과 같이 선언할 수 있습니다.

var emptyDict:NSMutableDictionary = [:]

당신은 사전을 활자로 만들어야 한다.

// empty dict with Ints as keys and Strings as values
var namesOfIntegers = Dictionary<Int, String>()

컴파일러가 유형을 추론할 수 있는 경우 짧은 구문을 사용할 수 있습니다.

namesOfIntegers[16] = "sixteen"
// namesOfIntegers now contains 1 key-value pair
namesOfIntegers = [:]
// namesOfIntegers is once again an empty dictionary of type Int, String

Swift에서의 사전 선언 및 초기화

문자열 사전

var stringDict: [String: String] = [String: String]()

또는

var stringDict: Dictionary<String, String> = Dictionary<String, String>()

Int 사전

var stringDict: [String: Int] = [String: Int]()

또는

var stringDict: Dictionary<String, Int> = Dictionary<String, Int>()

AnyObject 딕셔너리

var stringDict: [String: AnyObject] = [String: AnyObject]()

또는

var stringDict: Dictionary<String, AnyObject> = Dictionary<String, AnyObject>()

문자열 배열 사전

var stringDict: [String: [String]] = [String: [String]]()

또는

var stringDict: Dictionary<String, Array<String>> = Dictionary<String, Array<String>>()

문자열 사전 배열

var stringDict: [[String: String]] = [[String: String]]()

또는

var stringDict: Array<Dictionary<String, String>> = Array<Dictionary<String, String>>()

신속:

var myDictionary = Dictionary<String, AnyObject>()

나도 이거 가지고 놀고 있어.빈 사전을 선언하고 다음과 같이 키/값 쌍을 추가할 수 있는 것은 이상합니다.

var emptyDictionary = Dictionary<String, Float>()
var flexDictionary = [:]
emptyDictionary["brian"] = 4.5
flexDictionary["key"] = "value" // ERROR : cannot assign to the result of this expression

그러나 다음과 같이 "Any" 유형을 사용하여 다른 값 유형을 허용하는 사전을 만들 수 있습니다.

var emptyDictionary = Dictionary<String, Any>()
emptyDictionary["brian"] = 4.5
emptyDictionary["mike"] = "hello"

Swift에서 선언할 때 데이터 유형을 명시적으로 알려줘야 합니다. 그렇지 않으면 유형을 유추할 수 있습니다.

스위프트 3

은 키가 을 "키"로합니다.Int 및 은 " ", " 로 합니다.Stringdiscloss.discloss.

방법 1: 이니셜라이저

let dic = Dictionary<Int, String>()

방법 2: 단축 구문

let dic = [Int:String]()

방법 3: 사전 리터럴

var dic = [1: "Sample"]
// dic has NOT to be a constant
dic.removeAll()

임의의 유형의 일반 사전을 생성하려는 경우

var dictionaryData = [AnyHashable:Any]()

스위프트 4

let dicc = NSDictionary()

//MARK: - This is empty dictionary
let dic = ["":""]

//MARK:- This is variable dic means if you want to put variable 
let dic2 = ["":"", "":"", "":""]

//MARK:- Variable example
let dic3 = ["name":"Shakeel Ahmed", "imageurl":"https://abc?abc.abc/etc", "address":"Rawalpindi Pakistan"]

//MARK: - This is 2nd Variable Example dictionary
let dic4 = ["name": variablename, "city": variablecity, "zip": variablezip]

//MARK:- Dictionary String with Any Object
var dic5a = [String: String]()
//MARK:- Put values in dic
var dic5a = ["key1": "value", "key2":"value2", "key3":"value3"]

var dic5b = [String:AnyObject]()
dic5b = ["name": fullname, "imageurl": imgurl, "language": imgurl] as [String : AnyObject]

or
//MARK:- Dictionary String with Any Object
let dic5 = ["name": fullname, "imageurl": imgurl, "language": imgurl] as [String : AnyObject]

//MARK:- More Easy Way
let dic6a = NSDictionary()
let dic6b = NSMutalbeDictionary()

하려면 , 「」를 사용합니다.[:] aka the empty dictionary literal키와 값의 양쪽 유형에서와 같이 콘텍스트를 먼저 제공해야 합니다. [:]은 다음과 같습니다

var dict: [String: Int] = [:]

나는 주로 사용하고 있다.

var dictionary:[String:String] = [:]
dictionary.removeAll()

다음과 같이 nero로 선언할 수 있습니다.

var assoc : [String:String]

그럼 좋은 점은 이미 타이프셋이 되어 있다는 것입니다(제가 var를 사용한 것에 주목해 주세요.이것들은 변하기 쉽고 불변하다고 생각하시면 됩니다).그런 다음 나중에 채울 수 있습니다.

assoc = ["key1" : "things", "key2" : "stuff"]

다음의 코드를 사용할 수 있습니다.

var d1 = Dictionary<Int, Int>()
var d2 = [Int: Int]()
var d3: Dictionary<Int, Int> = [Int : Int]()
var d4: [Int : Int] = [:]

var dictList = 문자열:swift var arrSection 사전 문자열제목 = 빠른 배열에 대한 문자열

var parking = [Dictionary < String, Double >()]

^ [ string : double ]입력용 사전을 추가합니다.

그것은 길을 찾는데 매우 편리하다.

var dict:사전 = [:]

언급URL : https://stackoverflow.com/questions/24033393/swift-declare-an-empty-dictionary

반응형