프로토콜(protocol)이란? 프로토콜은 일종의 규칙, 규약이라고 할 수 있는데, Swift에서 프로토콜은 특정 역할을 수행하기 위한 메서드, 프로퍼티, 기타 요구사항들이 적혀있는 하나의 "설명서(청사진)"라고 할 수 있습니다. 쉽게 말하면, 프로토콜에 꼭 어떤 내용이 들어갈지에 대한 로드맵을 짜놓고, 이를 채택하는 부분에서 로드맵 내부의 세부적인 내용을 구현해주는 것 이라고 할 수 있습니다. 프로토콜의 요구사항을 충족시키는 모든 타입은 '해당 프로토콜의 준수(confrom)한다'고 합니다. 프로토콜의 사용 1. 프로토콜 정의하기 protocol NameProtocol { // 프로토콜 정의 기능1() 기능2() // ... } protocol 이라는 키워드를 이용하여 정의합니다. 프로토콜 이름을 정해..
ScrollView? ScrollView는 스크롤을 이용해 상하좌우로 움직이며 화면보다 넓은 추가적인 컨텐츠를 보여줄 수 있도록 하는 기능입니다. Scroll View 사용방법 1. Freeform 선택 먼저 View Controller를 선택하고, Simulated Size를 Fixed → Freefrom 으로 변경해줍니다. 이후 원하는 크기로 설정해줍니다. 아래는 height를 2000으로 설정해줬더니, 화면이 길~어졌습니다 ^^.. 2. Scroll View 불러오기 Command+shift+L 로 Scroll View를 가져온 후, autolayout을 설정해줍니다. (상하좌우 0,0,0,0으로 설정해줬습니다.) 그러면 빨갛게 오류가 날텐데 Inspector 창에서 Content Layout Gu..
StackView ? 스택뷰(StackView)는 View 들을 일정한 간격으로 배치하기 위해 사용합니다. StackView를 배치한 후 그 내부에 View들을 추가하여 사용하면 됩니다. 물론, View 사이의 관계는 Constraint로도 설계할 수 있지만 Stack View를 이용하면 보다 편하게 배치할 수 있습니다. Horizontal Stack View : View 들을 가로로 배치한다. Vertical Stack View : View 들을 세로로 배치한다. StackView에 View를 넣어준 후, View들을 바로 아래계층에 나란히 배치해줍니다. 저는 Vertical Stack View 아래에 View 3개를 배치해주었습니다. Stack View - Distribution https://dev..
동아리 세미나에서 storyboard마다 뷰컨 1개씩 놓아야 나중에 오류가 안난다고 배웠는데,, 그래서 일단 공부할때도 한 프로젝트에다가 주제별로 .storyboard 파일을 만들었는데 생각해보니.. simulator 를 실행하면 그 스토리보드 화면이 안뜨는것.. 그래서 그 방법을 찾아보았다. 1. 먼저 생성한 storyboard 에는 Storyboard Entry Point 를 만들어주어야 합니다. 이렇게 Is Initial View Controller 부분을 체크해줍니다. 그러면 이제 없었던 -> Stroyboard Entry Point가 생기고 뷰컨에 요런 화살표가 생긴것을 볼 수 있습니다. 이게 바로 실행하면 이 화면부터 시작한다는 의미입니다! 2. info.plist에 가서 simulator 실..
깃허브 말고 갑자기 블로그에 쓰는 이유는 ,, 그냥 요즘 블로그가 심심해보여서,, 복붙해보았습니다,, Safe Area? 아이폰 X 부터 나온 개념으로, M자 탈모 아이폰이 등장하면서 상단의 노치와 하단의 홈바에는 콘텐츠가 제대로 표시되지 않기 때문에, 이 부분을 제외하고 콘텐츠가 안전하게 표시될 수 있는 영역을 의미합니다. Storyboard에서 뷰컨생성하면 Safe Area를 볼 수 있습니다. View Hierarchy View 안에 View 를 담을 수 있으며, 이렇게 하면 View의 상하관계가 생깁니다. 부모-자식관계가 형성됩니다. (부모: superview , 자식: subview) subview는 반드시 1개의 superview만 가질 수 있습니다. superview와 subview는 상대적인..
참 .. 어이가 없어서 블로그에 써야겠다!!!! 요즘 스프링 공부를 하면서 인텔리제이를 쓰는데 분명 지난주에 오류 없이 끝났던거 프로젝트 껐다 킨거밖에 안했는데 갑자기 한 클래스에 관련된 모든 것들이 빨간색으로 바뀌면서,, 에러가 났다. import 자체가 안되는 것 같았다. (^^) 그래서 찾아보니 인텔리제이에 이런 오류가 참 많은 것 같더라,, 암튼 그래서 내가 찾은 것은 1. build -> clear build (?) -> 이후 Rebuild project 를 해보자. --> 하지만 clear build를 찾지 못해 실패 2. .idea 폴더를 지우고 재시작 해보자. --> 변화가 없다.. 3. 인텔리제이를 최신 버전으로 업데이트 하고 재시작 해보자 --> 변화가 없다.. 4. .idea폴더를 지..
앞서 설치한 homebrew를 통해 mysql워크벤치를 설치하기 위해 책에서 나온 그대로 아래와 같이 명령어를 입력했다. $ brew cask install mysqlworkbench 에러 & 삽질 하지만 다음과 같은 에러가 떴다. Error: Unknown command: cask 구글링 해보니 다음과 같은 해결책이 나와서, 그대로 따라해 보았다. $ brew update $ brew cleanup $ brew cask cleanup 하지만 여전히 에러가 났다.(ㅠㅠ) 그래서 이번에는 install cask를 해볼까 싶어 시도해보았다. $ brew install cask 뭔가 막 설치되는거 같았지만 여전히 위의 에러가 그대로 났다. 해결 그래서 다시 찾아보다가 스택오버플로우를 참고해 다시 시도했다. s..
MySQL 설치를 위해 homebrew를 설치하던 도중 인터넷이 잘 연결이 되지 않았던 건지 중단되어 오류가 났다. 그래서 일단은 다시 설치하려고 했다. 하지만.. 역시 설치가 제대로 되지 않았음 설치하는 명령 ▼ % /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" 설치하는 명령을 입력했더니 아래와 같이 뭔가 안된다고 한다. 맨 처음 설치하던게 중단되면서 그 파일이랑 뭔가 문제가 있는 것 같았다. HEAD is now at 320bccb38 Merge pull request #10594 from Bo98/consistent-alignment error: Not a valid re..
보호되어 있는 글입니다.