본문 바로가기
반응형

전체 글99

[CS] 인스턴스화란 무엇일까?(클래스, 객체, 인스턴스) 이번시간에는 "인스턴스화"에 대해서 알아보려고 한다. 아마 다들 여기저기서 수업을 듣거나 강좌를 볼때 인스턴스화한다 라는 말은 들어봤을 것이다. 근데 정확한 뜻은 모르고 그냥 느낌상 어떻다 라고만 알수있는데 이번에 확실히 알아보자. 인스턴스화란 객체지향에서 나오는 단어인데 주로 붕어빵틀과 붕어빵으로 얘기가 돌아다니는것을 확인할 수 있다. 하지만 이는 좀 부정확한 비유라는게 최근에 나오고 있다. 나도 동의한다. 그래서 나는 이왕 붕어빵틀로 얘기를 했으니까 붕어빵틀에서 크게 벗어나지 않으려 한다. 그래서 붕어빵틀의 설계도와 붕어빵틀로 얘기를 하려고 한다. 클래스(Class)와 구조체(Struct) 우리가 클래스나 구조체(스위프트에서는 주로 구조체(Struct)를 기본적인 구조와 내부 작동방식(메소드)등으로 .. 2024. 1. 2.
더 파이널스 TFLA0002 로그인 오류 해결방법 더파이널스에 TFLA0002이라는 오류코드가 뜨면서 게임을 실행할 수 없는 상황이 생기는 경우가 있는 것 같습니다. 이를 해결하는 방법은 다음과 같습니다. 스팀이랑 엠바크랑 연동을 안해서 생기는 오류라고 합니다. https://id.embark.games/id/sign-in https://id.embark.games/id/sign-in id.embark.games 여기로 들어가셔서 스팀이랑 연동을 하시면 해결됩니다. 저도 이거땜에 한 2시간 동안 헤매고 결국 어떻게 하다 보니 찾아냈군요. 2023. 12. 20.
[스위프트] 복잡한 함수의 사용 스위프트에서 함수를 선언하고 쓰는 데에 정말 복잡한 경우가 있다. 바로 함수를 일급객체로 쓰는 경우다. 함수를 일급객체로 쓰면 변수 및 상수에 저장해 쓸 수 있다. // 이 함수의 타입은 (String, String) -> String 이다 func areYouKorean(name: String, food: String) -> String { return "\(name), 당신은 \(food)를 좋아하는 한국인입니다." } // 이 함수의 타입도 (String, String) -> String 이다 func areYouAmerican(name: String, food: String) -> String { return "\(name), 당신은 \(food)를 좋아하는 미국인입니다." } 일단 name과 r.. 2023. 12. 19.
[스위프트] nil과 null 차이 스위프트에는 nil이 있습니다. 하지만 다른 언어에, 심지어 이전의 Objective-C에도 null이 있었습니다.(물론 obj-c에는 nil도 있었습니다.) 그렇다면 nil은 무엇이며 nil과 null의 차이는 무엇일까... 일단 기존의 obj-c에서 nil과 null들에 대해서 간단하게 살펴봅시다. NULL C pointer의 null nil Objective-C의 object들을 나타내는 null값 Nil Objective-C의 class들을 나타내는 null값 NSNull null을 표현하기 위한 싱글톤 오브젝트 뭐 그렇다고 합니다. 하지만 Swift에서는 위의 것들을 전부 없애버리고 nil만 남았다. Swift에서 nil은 값이 존재할지 안 할지 모르는 상태의, 아예 빈값("")도 없을 수 있는.. 2023. 12. 15.
[스위프트] 옵셔널 바인딩 단축하기 원래 옵셔널 바인딩은 아래처럼 if let(var)문이나 guard let(var)문을 사용하여 할당하고 사용해야한다. var name: String? var age: Int? let isLoadingDone: Bool = false if isLoadingDone { name = "홍길동" age = 65 } if let name, let age { print("\(age)세 \(name)님 반갑습니다") } else { print("자료를 확인할 수 없습니다") } 하지만 아래처럼 사용할 수도 있다. // 다음과 같이 옵셔널 바인딩을 단축할 수 있다. let tempName: String = name ?? "알 수 없는 이름"// 기본값을 할당한다. let tempAge: Int = age ?? 0//.. 2023. 12. 14.
[스위프트] 옵셔널 바인딩을 간단하게 하는 방법 옵셔널에 대해 아직 잘 모르신다면 [스위프트] 옵셔널(Optional) 이 글을 읽고 오셔야 아래 내용을 이해하실 수 있습니다. 이 글은 최근에 추가된 옵셔널 바인딩을 간단하게 하는 문법에 대한 내용입니다. 기존에 옵셔널 바인딩은 var abc: Int? = 3 if let index = abc { print(index)// 3 print(type(of: index))// Int } 이런식으로 썼습니다만 만약 같은 이름으로 옵셔널을 풀어서 쓰고싶다면 다음과 같이 쓸 수 있습니다. var index: Int? = 2 print(type(of: index))// Optional if let index { print(index)// 2 print(type(of: index))// Int } print(inde.. 2023. 12. 14.
반응형