본문 바로가기

전체 글332

Closure 함수처럼 기능을 수행하는 코드블록 함수와 다르게 이름이 없다 /* { (parameters) -> return type in statement ... } */ // Cho Simple Closure let ChoSimpleClosure = { } ChoSimpleClosure() // 코드 블록을 구현한 Closure let CodeBlockClosure = { print("this is code block") } CodeBlockClosure() // 인풋 파라미터를 받는 Closure let InputParamClosure: (String) -> Void = { name in print("input param is \(name)") } InputParamClosure("closure") // 값을 리.. 2022. 11. 7.
Set // 중복없는 유니크한 아이템을 관리할 때 사용 //var someArray: Array = [1, 2, 3, 1] var someSet: Set = [1, 2, 3, 1, 2] // {1, 2, 3} someSet.isEmpty someSet.count // 3 someSet.contains(4) // false someSet.contains(1) // true someSet.insert(5) someSet // {1, 2, 3, 5} someSet.remove(1) someSet // {2, 3, 5} 2022. 11. 7.
Dictionary var scoreDic: [String: Int] = ["Jason": 80, "Jay": 95, "Jake": 90] //var scoreDicc: Dictionary = ["jason": 80, "Jay": 95, "jake": 90] scoreDic["Jason"] // 80 scoreDic["Jake"] // 90 //scoreDic = [:] // clear scoreDic.isEmpty scoreDic.count // 기존 사용자 업데이트 scoreDic["Jason"] = 99 scoreDic // ["Jay": 95, "Jake": 90, "Jason": 99] // 사용자 추가 scoreDic["Jack"] = 100 scoreDic // ["Jason": 99, "Jake": 90, ".. 2022. 11. 6.
Array var eventNumbers: [Int] = [2, 4, 6, 8] //var eventNumber2: Array = [2, 4, 6, 8] eventNumbers.append(10) eventNumbers += [12, 14, 16] eventNumbers.append(contentsOf: [18, 20]) //eventNumbers = [] let isEmpty = eventNumbers.isEmpty // 배열이 비었는지 확인(true/first) eventNumbers.count // 배열의 크기 print(eventNumbers.first) let firstItem = eventNumbers.first // 첫번째 값 let lastItem = eventNumbers.last // 마지막 값 .. 2022. 11. 3.
Optional var carName: String? carName = nil carName = "tank" var bestMovieStar: String? = "leo" let num = Int("10") // 고급 기능 4가지 // 1. Forced unwrapping > 억지로 박스를 까보기(value값만 가져옴) // 2. Optional binding (if let) > 부드럽게 박스를 까보자 1 // 3. Optional binding (guard) > 부드럽게 박스를 까보자 2 // 4. Nil coalescing > 박스를 까봤더니, 값이 없으면 디폴트 값을 줘보자 // 1. Forced unwrapping carName = "그랜져" print(carName) // Optional("그랜져")\n pri.. 2022. 11. 3.
작업 중 기억해둘 것들(update). 언리얼얼 Tips 1. 엔진에서 파일 > 새 c++ 클래스.. 로 파일 추가한 다음 경로 변경을 적용하려면 vs 닫고 unreal engine project 파일에서 우클릭 후 Generate Visual Studio project files..를 한다음에 다시 열기. vs 빌드 후 에디터를 켜면 파일 경로 변경이 적용됨. .vs, Binaries, Intermediate, Saved, .sin 파일도 삭제를 해야 generate 시에 변경된 내용이 적용됨. (.sin파일, vcsproj.filters 와 vcxproj.user 파일들은 버전관리 대상이 될 필요가 없다는 것) 2. 헤더를 깜박하고 include 하지 않으면 여러가지 문제가 생김..휴우.. 3. .h 에서는 클래스 전방선언 해줄 것. 4... 2022. 8. 4.