iOS swift 오토레이아웃 연습(4개의 뷰 1:1로 만들기) 디데이 계산기 앱 만들 때 앱 화면의 아래 부분에 4개의 뷰를 위 모양처럼 만들고 싶을 때 4개의 View를 1:1의 비율로 만드는 오토레이아웃 잡기 *Equal Heights로 안하고 Equal Widths로 한 이유? 위 경우에 앱 화면상 위쪽 공간이 많이 남게 만들거라서 Width로 맞춰주는게 더 편리 *Aspect Ratio를 체크표시하는 이유: 1:1 로 맞춰주려고 iOS/iOS SeSAC 2기 TIL 2022.07.14
iOS swift 연산자 *할당 연산자 A = B *산술 연산자 + = * / % *비교 연산자 A === B 참조가 같다 A와 B가 참조(레퍼런스) 타입일 때 A와 B가 같은 인스턴스를 가리키는지 비교하여 불리언 값을 반환. A !== B 참조가 같지 않다. A ~= B 패턴 매치 (A와 B의 패턴이 매치되는지 확인하여 불리언 값을 반환) [참조 비교 연산자] 스위프트의 유일한 참조 타입인 클래스의 인스턴스에서만 참조 비교 연산자를 사용할 수 있다. 스위프트의 기본 데이터 타입은 모두 구조체로 구현되어 있기 때문에 값 타입. 그렇기 때문에 값의 비교 연산에는 ==을 사용하고, 클래스의 인스턴스인 경우에만 === 사용. *삼항 조건 연산자 A ? B : C Question ? A : B Question(불리언값)이 참이면 A 를.. iOS/iOS Swift 문법 2022.07.14
iOS swift 열거형 enum , switch 열거형: 연관된 항목들을 묶어서 표현할 수 있는 타입. 배열이나 딕셔너리 같은 타입과는 다르게, 프로그래머가 정의해준 항목 값 이외에는 추가/수정이 불가. 딱 정해진 값만 열거형 값에 속할 수 있다. 열거형 각 항목이 원시값(Raw Value)이라는 형태로(정수, 실수, 문자 타입 등의) 실제 값을 가질수도 있다. 또는 연관값을 사용하여 다른 언어에서 공용체라고 불리는 값의 묶음도 구현 가능. 열거형은 switch 구문과 만났을 때 멋지게 활용 가능. *기본 열거형 enum enum School { case primary case elementary . . . } *원시 값(raw value) p104~ 열거형의 각 항목은 자체로도 하나의 값이지만 항목의 원시값도 가질 수 있다. 즉, 특정 타입으로 지정.. iOS/iOS Swift 문법 2022.07.14
iOS swift SPM방법으로 오픈소스라이센스 설치하는 방법 원래 오픈소스라이센스를 설치하는 방법에는 4가지 정도가 있다. 1)코코아팟 2) Carthage 3)SPM 4)Manually 코코아팟도 많이 사용하긴 하는데, SPM은 애플에서 제공하는 것으로 가장 안정성 있다. 위의 4가지 방법 중에서 SPM방법으로 설치하는 방법 소개 --> 먼저 추가하고자 하는 오픈소스라이센스 깃허브페이지에서 초록색 code 누르고 깃헙 주소를 복사. 복사하고나서 적용하고자 하는 XCode 프로젝트로 온다. 거기서 General 말고 프로젝트 세팅하는 쪽에 Project -> Package Dependencies ->로 들어가면 아래 창이 나오는데 빈 칸(텍스트필드창)에 복사한 주소를 붙여 넣는다. 그러면 아래처럼 SlideMenu가 검색이 된다. 그 다음에 Dependency R.. iOS/iOS SeSAC 2기 TIL 2022.07.14
iOS swift 각종 오류떴을 때 해결 방법 1. @IBDesignable 코드로 짠게 스토리보드쪽으로 보이게 하게끔 관련 Designable build failed 오류 뜨는 이유와 연관 :코드에서 스토리보드쪽으로 잘 안옮겨졌어 2. 오류 났을 때 일단 해볼 것: 3. 데이터가 쌓여서 문제가 생길때도 있음 (캐시같이 쌓이는 느낌) 2주-1달에 한번씩 청소해주면 좋음. Derived Data를 휴지통에 넣는다. (어차피 휴지통에 넣음과 동시에 폴더가 다시 생성됨) Derived Data 파일 자체를 휴지통으로 이동함. 다만, 이렇게 했을 때 오픈소스라이브러리쪽이 빨갛게 되어있는걸 발견할 수 있는데. (캐시 같은거 삭제하다가 무언가 같이 삭제된거) 이 때 대처 방법: (또는 앱 출시하고 1년 2년 지났는데 업데이트가 생긴 경우): 아래 경로로 들어가.. iOS/iOS SeSAC 2기 TIL 2022.07.14
iOS swift storyboard 여러개일 때 처음 화면 설정 / 이동 iOS swift storyboard 여러개일 때 처음 화면 설정 : 2군데 바꿔줘야 함 1) general에서 설정 2) Info.plist에서 설정 >>사실 2번만 해도 되긴 함! 스토리보드 1에서 어떠한 다른 스토리보드 2로 가게 하는 방법 : Storyboard reference 버튼을 생성하고 거기에 segue -> show 추가 (스토리레퍼런스 조그마한 곳으로 끌어당겨서) iOS/iOS SeSAC 2기 TIL 2022.07.14
7.12 수업 내용 정리 버튼에 이미지를 넣었는데 이미지가 버튼보다 엄청 큰 경우 -> Style : default를 마지막 단계에 하면 줄어듬. 스택뷰를 세로로 3개 만드는 경우 -> 한줄의 스택뷰를 제대로 만들어 놓고 두번째 스택뷰부터는 그 스택뷰에 기대어 만든다. label 2개 함께 있을 때 -> priority 관련 + 하나의 라벨을 최소한으로 보여주고 싶다면 width 주고, 부등호로 표시 (이거보다 크거나 같다) Alert controller 만들기 return, 매개변수 관련 문법 + enum (열거형) iOS/iOS SeSAC 2기 TIL 2022.07.12
7.11 수업 복습 작업을 하다가 문제가 생긴거 같은 경우 체크해보기 (파일, 폰트 등 추가 및 드롭 했는데 파일 위치가 제대로 되어있는지 체크하고 싶을 때) -alpha vs opacity(투명도) 알파값을 주면 뷰 안에 라벨 넣은 경우, 뷰 안에 있는 요소도 같이 투명해진다. 라벨 뿐만 아니라 다른 UI요소 넣어도 똑같음. ->투명하게 하고 싶지 않다면, 뷰 안에 넣지 말고 빼내면 됨. opacity : 뷰 자체만 투명하게 만들고 싶을 때 사용 (뷰에서 background클릭 후 custom컬러 설정 뒤 밑에부분에서 opacity 적용) -렌더링 모드 ( template vs. original ) Assets 에서 Image Set 추가 후 오른쪽 부분 Render As 에서 original image: 이미지 자체가 .. iOS/iOS SeSAC 2기 TIL 2022.07.11
오토레이아웃 오토레이아웃 제약조건 걸기 1. 디바이스 기준 여백 잡기(위 아래 왼쪽 오른쪽) 2. 뷰-뷰 : 상자가 2개 있다면 이 사이의 간격을 잡는다. (만나거나 겹치지 않게 최소 너비 설정) 3. 높이/너비 (상자마다) 다만, 여백 잡고 상자 하나 있는 경우, 여백 or 상자 너비 중에 선택해야하는 경우가 있다. (충돌나는 경우) 예를 들어, 디바이스 너비 100이고 상자 하나 넣었을 때, 여백을 각각 30 30(왼쪽 오른쪽) 잡은 경우, 상자너비까지 40이 아닌 다른걸로 잡으면 오류남 preview 이용해서 미리보기 여러 기기로 할 수 있음 (preview띄우는 방법: 보조창 띄우는거 위에) clear constraints -> constraints 거는거 옆에 세모 모양 클릭하면 아래처럼 뜸 => selec.. iOS/iOS SeSAC 2기 TIL 2022.07.08
git 관련 1) VCS (Version Control System) 최종 최종1 최종2 진짜최종... -시간이 지남에 따라 변화하는 코드 사항을 저장해줌 (버전 관리 V1, V2,....) -문제가 생긴 지점에서 롤백하는 기능 -여러 사람과 협업을 할 때 책임 소재 파악 필요할 때 있음 (어떤 기능을 더 파악하고 싶을 때 어떤 개발자에게 물어볼지) Git : 소스 코드를 관리하는 방식 local에 관리됨 (github계정이 없더라도 사용 가능) 그렇지만 내 컴 말고 회사 컴 또는 다른 곳에서 개발하고 싶을 때 git 을 관리해주는 사이트인 github를 이용 (remote) 구글 드라이브, 클라우드 같은 개념 source control -> New Git Repositories Source Control -> co.. iOS/iOS SeSAC 2기 TIL 2022.07.08