IT
[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으로 객체를 다룰 때 멤버에 직접 접근해서 변경이 가능하다는 점은 ..
[Github 깃헙] git push origin main? master?
문제 발생 git push origin master를 하는데, 리모트저장소에는 계속 올라가지 않는다.. 딱 봐도 문제점은 눈에 보인다. main 이 default 라고 떡하니 써있는데 , 나는 master로 푸시를 했다. 이걸 인지하고 git push origin main 당연히 해봤다. 하지만, 다음과 같은 문제가 발생했다. error : src refspec main does not match any (push할 때 생기는 대표적인 오류이다. ) 로컬과 리모트의 주소가 맞지 않는 것이다. 로컬은 마스터브랜치에 연결되어있는데, main에 푸쉬를 하려고 하니 안되는 것이다. 내가 간과하고 있던 깃 사용 습관이다. 로컬 리모트 연동 시 git remote add origin main 주소 푸쉬할 때 git..
[iOS ] Table View 테이블 뷰 & 테이블 뷰 셀 - 작성 중 ..
* 공부한 자료들을 모아놓는 곳 입니다 * 카테고리들은 딱히 순서와 범주화 시켜놓지 않았습니다. 공부하면서 생긴 질문이나 정보들이 카테고리 제목입니다. Accessory dicclosure indicator - 셀 터치하면 다른 뷰가 등장 checkmark - 여러 개의 셀을 선택하고자 할 때 detail indicator - 셀 터치할 때와 다른 액션을 부여 Accessory Action show - 추가로 한 뷰가 더 로드된다. (스택에 푸시되어 최상단 스택에 쌓임) show detail - 최상단 스택에 있는 뷰와 교환(replace)되면서 보여줌 modally - 모달로 띄어주는 것 TableView에 있는 Cell을 tap했을 때, 해당 Cell의 인덱스를 어떻게 가져올 수 있을까? delega..
[iOS] 탭바 Tab bar - 작성 중 ...
* 공부한 내용을 모아놓는 곳입니다. 정리가 안되어있을 수 있습니다. 양해부탁드립니다. 궁금증 -Navigation bar와 Tab bar를 한 곳에 어떻게? 루트 뷰가 아닌 네비게이션 컨트롤러에Tab Bar controller 임베딩 탭바 아이템이 존재 -> 직접 이미지와 버튼 타이틀을 커스텀 가능
[iOS] tableView 이용 토이프로젝트 (feat. FacebookMe)
첫 주차를 TableView를 다뤄보기로 하였고, 30개의 project 중 하나인 FacebookMe를 만들어보기로 했다. https://github.com/M1zz/FacebookMe GitHub - M1zz/FacebookMe Contribute to M1zz/FacebookMe development by creating an account on GitHub. github.com 테이블 뷰 -> 테이블 뷰 셀 -> 셀마다 imageView, Label 배치 후 오토레이아웃 설정 일단 희망하는 위치에 배치한다. - x,y, width, height 모두 잡아야한다. - 나는 수평,수직 위치 잡고, 거기에 따른 x,y를 잡고, 그 다음에 내용물에 따라 weight, height를 잡아주는 게 좋다고 생..
[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..
[백준] 11650번 : 좌표 정렬하기- JAVA[자바] - 정렬 - 티스토리
오늘의 토픽 : Sort && Comparator , Comparable https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net *별표표시는 저의 생각이고, 나머지는 문제를 인용했습니다. 고찰 * 일단 Comparator 사용법에 대해 어느 정도 숙지하였다. 하지만 완벽하지 않다. 제네릭스에 넣어야 하는게 햇갈린다. * 배열을 비교할 것이라서 Wrapper클래스를 사용하지 않아도 된다. Arrays..
[백준] 7568번 : 덩치 - JAVA[자바] - 브루트포스 - 티스토리
오늘의 토픽 : 브루트포스(완전탐색) https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net *별표가 들어간게 저의 생각이고, 나머지는 문제에서 인용한 부분입니다. *몸무게를 일일히 다 비교해야한다 -> 다 돌면서 확인해야함 -> 브루트 포스구나 *브루트포스를 사용하기 전에, 사용해도 되는지 먼저 연산횟수를 확인해보자. N의 크기가 2~50까지 *1명당 최대 50까지 반복문을 돈다고 하더라도, 50*50이 최대이기에 연산횟수가 적다. *핵..