iOS121 CS 이론 : 절차형 프로그래밍 vs 선언형 프로그래밍 절차형 프로그래밍 [ procedural programming ] - 어떻게(How)에 중점을 두고 프로그래밍을 하는 방식입니다. - 실행 순서를 지정하게 되어 명령형 언어라고도 불립니다. - 위에서 아래로 로직에 따라 코드의 순차적인 처리가 중요시되며 프로그램 전체가 유기적으로 연결됩니다. - 코드로 원하는 결과를 달성해 나가는 과정에 중점을 두는 프로그래밍 방식입니다. - 종류 : C, ALGOL, COBOL, FORTRAN 장점 모듈 구성이 용이하며 구조적인 프로그래밍이 가능합니다. 컴퓨터와 유사한 처리구조의 코딩 방식으로 실행 속도가 빠릅니다. 단점 코드가 길어지면 가독성이 떨어집니다. 유지보수가 어렵습니다. 코드의 실행순서가 정해져 있어, 코드의 순서 변동으로 인해 동일하지 않은 결과가 발생할 .. 2022. 3. 10. 동기/비동기, 직렬/동시 스레드란 [ thread ] ? - 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말합니다. - 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있습니다. 동기 [ Sync ] vs 비동기 [ Async ] = 메인 스레드에서 어떤 방식으로 대기열을 처리할지 결정하는 것. - 동기 : 다른 스레드로 작업을 보내고, 그 작업이 끝날 때까지 기다립니다. 진행 중인 작업이 끝나야 다른 작업을 시작할 수 있습니다. - 비동기 : 다른 스레드로 작업을 보내고, 그 작업이 끝나는 것을 기다리지 않고 다른 작업을 시작합니다. 장점 단점 동기 설계가 간단하고 직관적 비효율적인 자원 사용 비동기 자원을 효율적으로 사용 복잡한 설계.. 2022. 3. 9. 오버로딩 VS 오버라이딩 오버로딩 [ Overloading ] - 같은 이름의 메서드에 매개변수는 다르게 선언할 수 있는 것을 의미합니다. - 함수, 메서드의 이름은 같으나 매개변수, 리턴 타입, 등을 다르게 하여 함수, 메서드를 중복으로 선언할 수 있습니다. - 함수, 서브스크립트, 생성자에서 사용할 수 있습니다. 예제 다음과 같이 같은 이름의 함수를 생성한 뒤 실행하면 똑같은 함수가 이미 정의되어 있다는 오류가 발생합니다. func sum() { } func sum() { } 하지만 아래와 같이 함수의 이름이 같아도 파라미터, 리턴 타입이 다르다면 오류 없이 실행이 됩니다. func sum() { } func sum(n: Int) { } func sum() -> Int { return 0 } Swift에서 오버로딩을 이용하면.. 2022. 3. 8. 시뮬레이터로 할 수 없는 것 (시뮬레이터의 한계) 하드웨어 가속도 센서, 가압계 센서, 주변광 센서, GPS 센서 기능을 이용할 수 없습니다. 마우스로 시뮬레이터의 터치를 하기 때문에 두 손가락으로 하는 줌인 줌아웃 등의 기능을 테스트 할 수 없습니다. 카메라를 이용할 수 없습니다. 마이크를 지원하지 않습니다. 전화기능을 사용할 수가 없습니다. API Apple의 푸시 알림 받기와 보내기를 지원하지 않습니다. 사진, 연락처, 캘린더에 액세스하기 위해 개인 정보 보호 알림을 지원하지 않습니다. Handoff 기능을 지원하지 않습니다. - 시뮬레이터가 지원하지 않는 프레임워크 MessageUI 기능 외부 액세서리 미디어 플레이어 IOSurface UIKit-UIVideoEditorController Class 기타 맥의 성능이 아이폰의 성능보다 훨씬 뛰어나.. 2022. 3. 7. 코코아 프레임워크, 코코아 터치, 코코아 팟 프레임워크 [ Framework ] - 앱 개발을 편하고 빠르게 하기 위해 사용되는 뼈대, 골조입니다. (프로토콜, 라이브러리와 비슷한 개념) - 개발자가 자신의 애플리케이션을 작성할 수 있도록 미완성인 형태로도 정의되어 있기도 합니다. - 개발을 하기 위한 확장성을 가지는 코드를 포함하고 있으며, 이 자체로 미완성 상태의 앱이라고 볼 수 있습니다. 코코아 프레임워크 [ Cocoa Framework ] - 프레임워크가 앱의 뼈대를 만들어 두는 것이라면, 이런 프레임워크를 여러 개 모아서 더욱 큰 프레임워크를 구성하는 것이 애플의 코코아 프레임워크입니다. - 이때, 터치와 관련된 디바이스의 앱을 개발할 때 사용하는 도구가 코코아 터치 프레임워크입니다. 코코아 팟 [ CocoaPods ] - 코코아팟은 Sw.. 2022. 3. 4. Safe Area 정의 - Safe Area는 전체 인터페이스의 보이는 부분 내에 뷰를 배치하는 데 사용됩니다. - UIKit에 정의된 뷰 컨트롤러는 콘텐츠 상단에 특별 뷰를 배치할 수 있습니다. (ex, 검색 컨트롤러) Safe Area - Safe Area를 사용해 콘텐츠를 배치할 수 있습니다. - 각 뷰에는 뷰 내부 항목에 대한 제약조건을 만드는데 사용할 수 있는 고유의 레이아웃 가이드("safeAreaLayoutGuide" 프로퍼티)가 있습니다. - 뷰의 위치를 지정하는데 오토 레이아웃을 사용하지 않는 경우, "safeAreaInsets" 프로퍼티를 통해 뷰의 원시 삽입 값 얻을 수 있습니다. - 아래 사진은 인터페이스의 Safe Area입니다. 커스텀 뷰를 포함한 Safe Area의 확장 - 컨테이너 뷰 컨트롤러.. 2022. 3. 3. 이전 1 ··· 12 13 14 15 16 17 18 ··· 21 다음