본문 바로가기

Swift

(3)
<Swift> UIPickerView의 작동 방식 js를 하다가 swift같이 타입에 깐깐한걸 하려니까 헷갈려 죽을 맛이다ㅠ  UIPickerView 는 아마 날짜나 알람 맞출때 많이 본 컴포넌트일 것이다.만드는 순서를 간단하게 정리해 둔다. 게시할 화면 ViewController에 다음을 상속한다 UIPickerViewDataSource, UIPickerViewDelegate  자동완성을 보면 옆에 Pr 이라고 되어있다.프로토콜이라는 뜻으로 틀이 정해져있다는 의미이다.그래서 상속만하면 왜 프로토콜대로 require 메소드등을 구현하지 않냐고 오류가뜨고 친절하게 자동완성도 해준다. - command + 해당 프로토콜로 들어가보면 더 자세하게 볼 수 있다.  스토리보드에 picker를 추가해준다. 그리고 스토리 보드의 화면과 클래스가 연동되어있는지 확인한..
<Swift> Swift에서도 변수 호이스팅이 될까? 변수의 스코프에 대해서 공부하다가 문득 스위프트에서도 호이스팅이 되는지 궁금해졌다.그래서 다음과 같은 코드를 실행해봤다.print(a)var a = 1  오...? 뭔가 호이스팅 비스무리 하게 되는 것 같아보였다. js 는 일단 undefined를 할당해주는 것처럼 0을 할당해주는 것 같아 보인다. 그렇다면 swift 선언시에 값을 할당해 주는걸까?그래서 다른 타입도 출력해봤다 print(a)print(b)var a = 10var b = "string" 음... 에러가 떠서 print 문을 다시 써봤다 print(a)print("b 출력 : \(b)")var a = 10var b = "string"    좋지 않은 접근이라고 한다...! 그래서 챗GPT에게 물어봤따다 swift는 지역변수를 선언하면 자동..
<Swift> 범위 연산자, ClosedRange<Int> 란 뭘까...? 범위 연산자?그동안 js만 하다가 swift를 보니 let, var가 낯설어지던중에 범위연산자를 처음 봤다...., ..  결과값으로 ClosedRange 라는게 나왔길래 내가 이해하기로는 위의 예시에서 1이 좌항 5이 우항으로 ...가 연산을해서 뱉어낸 결과값의 타입이 ClosedRange 인줄 알았다. 일단 찾아보니 저게 인스턴스란다. 엥..? 인스턴스는 클래스의 결과물인데 내장함수니까 클래스라고 이해하는건가? 그래서 물어봤다 챗GPT에게ㅋㅋㅋ 도와줘 인공지능...!! 구조체에 대해서도 물어봤더니 정말 친절하게 클래스와 구조체의 차이부터 짚어줬다. 어슴푸레하게 구조체 == 객체타입 아닌가? 라고 생각하고 있었는데 좀 달랐다 - 클래스 : 참조타입, 클래스를 인스턴스화 하면 그때 값이 특정 메모리 주소..

728x90