분류 전체보기133 Class와 Struct -class와 struct의 차이에 관한 질문이 정말 많다. 이 질문의 목적은 단순하게 class와 struct의 특성차이, 장*단점 등에 관해 이해하는 것이 아니라, class와 struct에 대해 정확하게 이해하여 어떤 상황이 주어졌을 때 적절하게 사용하여 프로그램 성능을 개선할 수 있는 지가 질문의 요점이라고 생각한다. -struct는 class와 다르게 상속이 불가능하지만 상속을 제외하면 class와 기능이 유사하다. -struct과 class는 객체 지향 프로그래밍을 위한 필수요소로 추상화에 이용된다. -오늘은 두 가지의 개념에 대해서 deep diving해 볼 것이다. Class -class는 청사진으로 어떤 집단의 속성과 행위를 정의해 놓은 것이다.(속성과 행위는 property와 metho.. 2022. 7. 4. getter와 setter 그리고 willSet과 didSet -get과 set은 연산 프로퍼티로 클래스, 구조체, 열거형에서 사용된다. 저장 프로퍼티와 다르게 저장공간을 갖지 않고, 다른 저장 프로퍼티의 값을 읽어 연산을 실행하거나, 프로퍼티로 전달받은 값을 다른 프로퍼티에 저장하는 역할을 한다. 또한 연산 프로퍼티는 값을 저장하지 않기 때문에 타입추론이 불가능하다. 따라서 선언할 때 var와 타입 어노테이션을 통해 자료형을 명시해주어야 한다. -get은 읽기 전용으로 리턴값이 있고, set은 파라미터로 받은 값을 조건에 맞게 연산해준다. 여기서 set의 파라미터명은 생략해도 되고 우리가 파라미터로 접근할 때 newValue라는 set에 지정해놓은 이름으로 사용할 수 있다. -willSet과 didSet은 observer property로 프로퍼티의 값을 관찰하고.. 2022. 7. 1. Data base에 관하여 1. 데이터를 지속적으로 저장하는 방법들에는 여러가지가 있다. ex) 데이터를 저장하는 method. 1) userDefaults codable keychain 2) SQLite : 거의 모든 아이폰 앱, 백엔드 또는 데이터를 저장하는 데이터베이스 장치는 모두 SQLite를 사용한다. 많은 양을 유지하는데 도움이 되는 가볍고 사용하기 쉬운 관계형 데이터베이스다. Core Data Realm 1)에 소개되어 있는 메서드들은 모두 테이블, plist 등 개별 테이블이며 소량의 데이터를 추적한다. 2)에 소개되어 있는 메서드들은 데이터베이스 또는 데이터베이스 솔루션이며 더 복잡한 요구 사항이 있는 데이터 앱, 데이터 저장, 데이터 검색을 위한 메서드이다. 앱 내부에 있는 사용자의 데이터를 저장하고 유지하기, .. 2022. 6. 11. 샌드박싱, NSCoder에 관하여 1. 샌드박싱 : 미국에서 어린아이를 보호하기 위해 모래통에서만 놀도록 하는데서 유래한 보안 모델을 말한다. ios는 기본적으로 앱 마다 별도의 파일을 생성하여 공유되지 않도록 하고, 외부로부터 들어온 접근에 대해 보호되는 영역으로 시스템이 부정적으로 조작되는 것을 막는 보안 형태를 말한다. -예시: a, b라는 두 개의 앱이 핸드폰에 깔려 있을 때 a에서 생긴 악성 소프트웨어가 b앱의 데이터들을 모두 망쳐놓으면 문제가 생기기 때문에 샌드박싱을 이용해 해결한다. 1. nscoder : 공식문서에 따르면 "다른 개체의 보관 및 배포를 가능하게 하는 개체의 기초 역할을 하는 추상 클래스" 이다. -개체의 보관은 "디스크에 개체 및 데이터 저장", 개체의 배포는 "서로 다른 프로세스 또는 스레드 간의 개체 및.. 2022. 6. 11. 수명주기에 관하여 1. 뷰 컨트롤러 수명 주기 설명 -viewController에도 수명주기가 있다. 1. viewDidLoad : 가장 먼저 일어나는 코드로 모든 IBOutlets, IBActions, 모든 뷰 관련 객체가 연결된다. 뷰가 있을 때 한 번만 호출된다. 2. viewWillAppear : 실제로 뷰가 화면에 나타나기 직전에 호출된다. 사용자가 아무 것도 볼 수 없을 때 우리가 무언가를 할 수 있는 좋은 시점이다. 3. viewDidAppear : 뷰가 나타나고 난 후에 호출된다. 4. viewWillDisappear : 뷰가 사라질 때 쯤 호출된다. 5. viewDidDisappear : 뷰가 이미 사라지고 난 후에 호출된다. 2. 앱 수명 주기 설명 -앱의 최초 실행부터 앱이 완전히 종료될 때까지 앱의 .. 2022. 6. 3. 깃허브 1. git과 커맨드라인을 사용한 버전 제어 -'ls -a'를 통해 숨겨진 파일을 모두 볼 수 있다. -'git commit -m'을 사용하여 커밋 메시지를 추가할 수 있다. -'git add . '을 사용하면 그 디렉토리안에 있는 모든 파일을 준비시킬 수 있다. -파일의 내용을 잘못변경했을 때 이전에 저장해놓았던 파일로 돌이킬 수 있다. 먼저 'git status'를 통해 파일의 수정사항을 알아본다. 다음 'git diff 파일이름'을 통해 어떤 부분이 수정되었는지 확인한다. ' git checkout 파일이름 ' 을 통해 파일의 마지막 버전으로 롤백시킬 수 있다. -Swift를 위한 Git과 Github | Hohyeon Moon 2. gitignore -git을 통해 프로젝트를 할 때 API Key.. 2022. 4. 19. 이전 1 ··· 15 16 17 18 19 20 21 ··· 23 다음