IT/Swift

    [Swift] convenience init 이제는 알아야지!?

    init과 비슷하지만, 보조 역할을 하는 convenience init에 대해서 알아보겠습니다. 다들 아시다시피, class를 생성 시 init을 통해서 모든 프로퍼티들을 초기화 해줘야 합니다. 그럼 convenience init은 뭘까요? convenience 라는 이름부터 우리에게 굉장히 편리함을 줄 것 같은 느낌이네요. init과의 차이점을 상황을 예시로 들어 쉽게 설명해보겠습니다. 상황) 레스토랑을 운영하고 있는 나! 메뉴의 이름과 가격을 정하려 합니다. 하지만, 이름을 정하지 않았더라도 가격만 넣어놓을 수 있게 하고 싶었어요. - 원래) init은 다음과 같이 모든 프로퍼티를 초기화해줘야 합니다. - 만약 1개라도 빼먹는다면, 에러가 발생합니다. 위에서 말했듯이, 가격만 정해도 사용할 수 있게 ..

    [Swift 스위프트] let과 var차이

    let과 var의 차이점을 통해 확실히 구분하자. 1. 차이점 1.1 기본 타입 다룰 때 [String, Int, Character ..etc] var은 계속 선언된 값(or주소)에 따라 변경이 된다. 즉, 최종 대입된 값이 var의 최종 값이다. let은 처음에 선언된 값(or주소)만 저장된다. 1.2 객체를 다룰 때 [class(참조)와 struct(값)의 경우 비교] class var은 타입만 같다면 계속해서 참조변경이 가능하다. let은 타입이 같더라도 처음 참조한 주소 값에서 변경이 불가능하다. struct var은 타입만 같다면 계속해서 값 변경이 가능하다. let은 타입이 같더라도 처음 선언한 값에서 변경이 불가능하다. let으로 객체를 다룰 때 멤버에 직접 접근해서 변경이 가능하다는 점은 ..

    [iOS의 Swift] 옵셔널 바인딩 Optional binding

    옵셔널 바인딩은 크게 1. 명시적 해제 2. 묵시적 해제로 나뉜다. 1. 명시적 해제 1.1 강제 해제 1.2 비강제 해제(if, guard문을 사용하는 안전한 해제 방법) 2. 묵시적 해제 2.1 컴파일러에 의한 해제 (다른 값과 비교를 통한 자동해제 방법) 2.2 옵셔널의 묵시적 해제 1. 명시적 해제 1.1 강제 해제 3번 라인 : Optional 4번 라인 : Optional 이 해제된 걸 확인 할 수 있다. 1.2 비강제 해제 if문이나, guard문을 이용해서 확인 후 안전하게 해제하는 방법이다. 1) if문 tester1을 가지고 예제를 돌렸다. 만약 tester1이 nil이 아니면 safeTester 값을 바인딩 후 값을 뱉을 것이고, 아니라면 nil을 출력할 것이다. -> 출력문을 확인하..

    [Swift 스위프트] print 사용방법에 대해 - print(_:seprator:terminator) - 티스토리

    Seperator : seperator 는 반복되는 문자열 사이에 들어가는 구분자 기본적으로, 공백( ) 이 포함되어있다. terminator : terminator는 문자열의 끝에 개행 대신 들어갈 문자 기본적으로, 개행(\n) 이 포함되어있다. 예시를 통해 사용 방법을 알아보자. 예시 일반적인 print("Hello!") 로 예시를 들어보겠다.

    [Swift | 공식문서 읽기] 함수 선언 방법과 매개변수에 대해서 알아보자(1)

    오늘의 주제 : Swift 공식문서 함수편 :: 두번째 챕터 - Function Argumnet Labels and Parameter Names https://docs.swift.org/swift-book/LanguageGuide/Functions.html#ID169 Functions — The Swift Programming Language (Swift 5.5) Functions Functions are self-contained chunks of code that perform a specific task. You give a function a name that identifies what it does, and this name is used to “call” the function to perf..