SWiFT(48)
-
[Swift] Ascii to String / String to Ascii / 아스키코드 변환 / 아스키 값 변환 / 아스키 / ASCII
// String to Ascii let ch = "C" let asciiIntValue_C = Int(UnicodeScalar(ch)!.value) let asciiIntValue_A = Int(UnicodeScalar("A").value) // 0x41, 65(d) // Ascii Int Value to String let result = String(UnicodeScalar(asciiIntValue_A)!) print(asciiIntValue_C) print(asciiIntValue_A) print(result)
2022.07.12 -
[Swift] 함수간 걸린시간 측정 / 실행 시간 / 코드 실행 시간 측정
Foundation 내장 함수인 CFAbsoluteTimeGetCurrent() 활용. TimeInterval로 return시 CFAbsoluteTime 반환보다 적은 시간이 나오는 것을 확인. import Foundation public func progressTime(_ closure: () -> ()) -> TimeInterval { let start = CFAbsoluteTimeGetCurrent() closure() let diff = CFAbsoluteTimeGetCurrent() - start return (diff) } progressTime { // put your func } 예시) import Foundation public func progressTime(_ closure: () -..
2022.06.14 -
[문법] defer 구문
· defer 현재 코드 블록을 나가기 전에 꼭 실행해야 하는 코드. · defer 구문은 선언 된 역순으로 실행 · defer 구문이 실행되지 않는 경우 3가지 1. throw를 이용하여 오류를 던질 경우 2. Guard문을 이용하여 중간에 함수를 종료하는 경우 함수내의 읽어진 부분의 defer 까지만 실행 3. return값이 Never인 경우 오류로 인해 함수를 반환하지 않고 종료하기 때문에 defer 호출하지 못함
2021.12.15 -
[Swift]Swift 요약 정리 /초보자를 위한 코테 / 코딩테스트 / 요약 / 총 정리 / 기초 정리 / 코테 입문
알고리즘 코딩 테스트를 위한 Swift 요약 정리 입력(Input) Line 단위로 읽어오기. 1 let value = readLine() Line단위로 읽어오는데, 공백(Space)으로 구분되어 있는 입력 ex) Input = 1 2 3 4 1 2 let nums = readLine()!.split(seperator:" ") // String.SubSequence Type [map]으로 커버 가능 let nums = readLine()!.components(seperatedBy:" ") // String Type [import Foundation] 필수. 입력을 split을 사용하여 받아온다면 mapping으로 변수를 사용할 수 있다. 다른 방법으로는 components를 사용하는 방법이 있는데, co..
2021.09.02 -
[Swift] (기초) Optional Chaining / 옵셔널 체이닝
옵셔널 체이닝 특징 - 옵셔널 체인으로 참조된 값은 무조건 옵셔널 타입으로 반환된다. - 옵셔널 체인 과정에서 옵셔널 타입들이 여러 번 겹쳐 있더라도 중첩되지 않고 한 번만 처리된다. struct Human { var name: String? var man: Bool = true } struct Company { var ceo: Human? var companyName: String? } var startup: Company? = Company(ceo: Human(name: "CHANHIHI", man: true), companyName: "chan") if let name = startup?.ceo?.name { print(name) } startup?.ceo?.name = "HIHI" print(st..
2021.08.28