전체 글(103)
-
iOS_칸반 면접 질문 정리 하기
Bounds 와 Frame 의 차이점을 설명하시오. - 좌표계임은 동일하지만 bounds는 자기자신, frame은 슈퍼뷰 기준 Bounds는 주로 스크롤뷰에서 사용한다. 실제 디바이스가 없을 경우 개발 환경에서 할 수 있는 것과 없는 것을 설명하시오. - 카메라, 중력 가속도 불가능, 다른 앱 설치, 전화, 페이스타임 오디오 입력 블루투스 카메라 모션 지원 App thinning에 대해서 설명하시오. - 기기에 맞춰서 앱을 최적화 하는 과정 11,12,13 기기 마다 용량등이 다르다는점 NSOperationQueue 와 GCD Queue 의 차이점을 설명하시오. - NSOperationQueue 씨언어로 만들어졌다. 사용하기어렵다. 취소와 같은 gcd에서 할수 없는 작업을 할 수 있다. 장점은 취소가 쉽..
2022.12.06 -
Concurrency(동시성)에 대해서
1. 동시성 프로그래밍 / 병렬 프로그래밍 동시성 프로그래밍(Concurrency) 병렬 프로그래밍(Parallism) 2. 동기 / 비동기 동기 비동기 3. 하드웨어의 스레드 / 소프트웨어의 스레드 하드웨어의 스레드 소프트웨어의 스레드 4. 동시성 프로그래밍, 병렬 프로그래밍, 동기, 비동기의 개념은 어떤 상관관계를 가질까요? 동시성 프로그래밍과 병렬성 프로그래밍 모두 비동기(Asynchronous)동작을 구현할 수 있지만, 그 동작 원리가 다르다. 동시성은 싱글코어 및 멀티코어에서 모두 구현할 수 있지만, 병렬성은 멀티 코어에서만 구현할 수 있다. 동시성 또는 병렬 프로그래밍을 활용하지 않고, 하나의 스레드로 모든 작업을 진행하게 되면, 하나의 스레드는 한 번에 하나의 일만 처리할 수 있으므로, 모든..
2022.11.30 -
클래스(class) vs 스트럭트(struct) 차이
가장 먼저 떠오르는 건 상속의 차이가 아닐까 싶습니다. 조금씩 따져 본다면 많이 나오겠지만 우선적으로 생각해야 할 부분에 대해서 적어 보도록 하겠습니다. Class - Reference type 객체화 시 힙 메모리 영역에 저장되며 ARC로 객체의 메모리 해제가 관리된다. 대입 연산 시 레퍼런스가 복사되어 할당됨. (공유 가능) 멀티스레딩 시 적절한 Lock 활용이 필요. 상속 가능. Struct - Value type 대입 연산 시 값 자체가 복제되어 할당됨(공유가 불가능). 불변성(Immutable) 구현에 유리. 멀티스레딩에 안전함. 상속이 불가능. (protocol 은 사용 가능) 우선은 이 정도가 될 것 같습니다. 그렇지만 조금더 알아본다? 조금 다르게 생각해 본다면.. 우선 큰 차이점을 또 찾..
2022.11.23 -
접근제어자에 대해서
먼저 흔히 보았던 퍼블릭과 프라이빗에 대해서.. 퍼블릭 프라이베이트 Public -> 공개 접근 // 모듈 외부에서도 접근 가능 Public 접근자 모듈이 아닌 다른 모듈에서 사용 가능 Public으로 선언된 것은 다른 모듈에서는 오버라이드와 서브 클래싱이 불가능합니다. Private -> 비공개 접근 수준 // 정의한 블록 내부에서만 접근 가능 특정 엔티티가 선언된 괄호({})안에서만 사용 가능합니다. 접근제어자는 5개로 나뉘어 있다고 한다. 5개에 대해서 알아보자.! 접근제어자 5개 접근 제어란? -접근제어는 코드끼리 상호작용을 할 때 파일 간 또는 모듈 간에 접근을 제한할 수 있는 기능입니다. -전체 코드가 노출될 가능성이 있을 때 접근 제어를 이용한다. 접근 수준 - 접근제어는 접근 수준 키워드를..
2022.11.22 -
델리게이트 패턴에 대해서 알아보자!.
셀에서의 버튼 액션을 사용할 수 없기 때문에 이 부분을 컨트롤러에 전해줘야 합니다. 이 부분을 실행하는 데에 있어 다른 방법도 있겠지만 델리게이트 패턴을 사용하기에 델리게이트 패턴에 대해 알아보도록 하겠습니다. @IBOutlet weak var addButton: UIButton! addButton.addTarget(self, action: #selector(add), for: .touchUpInside) @objc func add(sender: UIButton) { } 우선은 버튼을 생성한 상태에서 연결을 진행한 후에 addtarget을 진행하여 액션을 실행할 함수를 만들어 줬습니다. 이 부분이 실행되는 부분은 컨트롤러가 아닌 셀에서 진행되고 있음을 설명드립니다.! 그렇기에 add 함수에 액션 명령을 ..
2022.11.20