전체 글
IOS - Xcode 오류 this class is not key value coding-compliant for the key profileButton.
IBOutlet문제 @IBOutlet으로 연결해놨으나 삭제/주석 처리한경우 발생 오류가 발생한 Outlet이 위치한 뷰로 이동해서 사용하지않는 Outlet의 연결을 끊어주면 해결
Firebase(IOS) - 데이터 읽기 동기 처리.
파이어 베이스의 데이터를 읽는 코드는 비동기 방식으로 처리된다. 만약 파이어베이스에서 데이터를 읽는 코드를 작성하고 바로 프린트를 해보면 값은 변경되지 않고 그대로 출력될것이다. 이런식으로 var a = 1 readfirebase() // a가 2로 변경되어야함 print(a) 출력은 1 2로 변경되어야 하는 a는 1로 출력된다. 파이어베이스의 데이터를 받아오는 코드는 비동기적으로 처리되기 때문에 데이터를 읽어온 후 2로 변경되는데 읽어 오기도 전에 프린트를 해버려서 출력이 1이 나온다. 버튼을 만들어서 출력해보면 2로 정상 출력된다. 이렇기 때문에 데이터를 읽어온 직후 그 데이터를 사용해야 한다면 원하지 않는 결과를 얻게된다. 동기처리 하는 방법 데이터 읽는 함수를 호출하는 부분 //데이터 읽기 함수를..
Firebase(IOS) - Realtime Database데이터 읽기
파이어베이스 실시간 데이터베이스에서 데이터를 읽어오는 방법 예제로 둘 파이어베이스의 데이터 일단 FirebaseDatabase를 import 해둔다. 1je36JAenW...뭐시기는 uid라는 변수로 대체한다. 데이터를 읽을 땐 reference객체가 필요하다. reference객체를 생성한다. //레퍼런스 객체 생성 let ref = Database.database().reference() 만약 User의 uid아래의 정보를 읽어오고 싶다면 이런 코드를 작성한다. ref.child("User").child(uid).observe(.value){snapshot in //데이터 처리 코드 작성 } ref의 헤더에서 child(User)의 child(uid)의 value값들을 snapshot으로 observ..
IOS - ViewController의 생명주기(Life Cycle)
ViewController의 생명주기(Life Cycle) IOS에서 화면을 구성하는 요소인 ViewController가 나타나서 사라지기까지의 주기를 의미한다. 그림을 보면 will과 did가 반복적으로 사용된다 will은 ~할 것이다. 라는 뜻을 가지며 did는 ~했다. 라는 의미를 가진다. 이 주기들의 순서는 다음과 같다. ->loadView(뷰 로드) -> viewDidLoad(뷰가 로드되었다) -> viewWillAppear(뷰가 나타날 것이다) -> viewDidAppear(뷰가 나타났다) -> viewWillDisappear(뷰가 사라질 것이다) -> ViewDidDisappear(뷰가 사라졌다) -> viewDidUnload(뷰가 언로드 되었다) 1. override func loadVie..
IOS - Navigation Bar Title 변경하는 방법
1. Navigation Controller에 embed 했을 때 //1 title = " " //2 self.title = "" //3 self.navigationItem.title = "" //4 self.navigationController?navigationbar.topItem.title = " " 2. Navigation Controller와 Tab Bar Controller가 함께 1. self.navigationItem.title= " " 2. self.navigationController?.navigationBar.topItem?.title = " " 3. Navigation Bar만 추가했을때 (Navigation Controller로 생성된 bar가 아닐경우) //Outlet변수로 추가..
IOS - PickerView
피커뷰를 사용하려면 컬럼의 갯수에 상관없이 UIPickerViewDataSource, UIPickerViewDelegate라는 프로토콜을 채택해야함. 먼저 UIPickerViewDataSource를 채택한 뷰 컨트롤러는 자기 자신을 피커뷰의 datasource로 등록해야한다. 뷰 컨트롤러가 피커뷰에 표시할 데이터와 UIPickerView사이의 다리 역할을 한다. //피커뷰의 열 개수를 넘김 func numberOfComponents(in pickerView: UIPickerView) -> Int { return pickerViewCnt } //피커의 항목 개수를 넘김 func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component..
정처기 - 21년 8월 14일
1. UML모델에서 한 사물의 명세가 바뀌면 다른 사물에 영향을 주며, 일반적으로 한 클래스가 다른 클래스를 오퍼레이션의 매개변수로 사용하는 경우에 나타나는 관계는? - Association - Dependency - Realization - Generalization Dependency(의존성) 2. 객체지향 분석 기법과 관련한 설명으로 틀린 것은? - 동적 모델링 기법이 사용될 수 있다. - 기능 중심으로 시스템을 파악하며 순차적인 처리가 중요시되는 하향식(Top-down)방식으로 볼 수 있다. - 데이터와 행위를 하나로 묶어 객체를 정의내리고 추상화시키는 작업이라 할 수 있다. -코드 재사용에 의한 프로그램 생산성 향상 및 요구에 따른 시스템의 쉬운 변경이 가능하다. 순차적인 하향식 처리방식은 절차..
정처기 - 22년 3월 5일
1. 자료흐름도(DFD)의 각 요소별 표기 형태의 연결이 옳지 않은 것은? 1) Process: 원 2) Data Flow: 화살표 3) Data Store: 삼각형 4) Terminator(단말): 사각형 Data Store(자료저장소): 평행선 2. 소프트웨어 아키텍처의 설계 과정 설계 목표 설정 - 시스템 타입 결정 - 아키텍처 패턴 적용 - 서브시스템 구체화 - 검토 3. 객체지향 분석기법의 하나로 객체 모형, 동적 모형, 기능 모형의 3개 모형을 생성하는 방법 = Rumbaugh Method 4. 입력되는 데이터를 컴퓨터의 프로세스가 처리하기 전에 미리 처리하여 프로세서가 처리하는 시간을 줄여주는 프로그램이나 하드웨어는? FEP(Front-End Processor) 5. 단위 테스트에서 테스트의..
정처기 - 22년 4월 24일
1. UML 다이어그램 중 순차 다이어그램에 대한 설명. 순차 다이어 그램은 행위 다이어 그램이므로 동적이고, 순차적인 표현을 위한 다이어그램이다. 2. 메세지 지향 미들웨어(Mesage-Oriented Middleware, MOM)에 대한 설명 MOM은 즉각적인 응답을 원하는 경우(온라인)이 아니라 다소 느리고 안정적인 응답을 필요로 하는 경우에 많이 사용. 3. 익스트림 프로그래밍에 대한 설명 익스트림 프로그래밍은 애자일 방법론 중 하나. 4. 유스케이스(Use Case)의 구성 요소 간의 관계 연관, 포함, 확장, 일반화 -> 연 포 확 일 5. 요구사항 분석에서 기능적 vs 비기능적 기능적 : 시스템이 어떻게 동작하는가. 비기능적: 성능, 보안, 품질, 안정등 기능 이외의 모든것. 6. 정보공학 ..
1과목 SW설계 : 아키텍처 패턴
1) 레이어 패턴(Layers pattern) - 시스템을 계층(Layer)으로 구분하여 구성하는 고전적 방법 *OSI 참조 모델 2) 클라이언트-서버 패턴(Client-Server Pattern) - 하나의 서버 컴포넌트와 다수 클라이언트 컴포넌트로 구성되는 패턴 - 클라이언트나 서버는 요청과 응답을 받기 위해 동기화 되는 경우를 제외하고는 서로 독립적 *컴포넌트(Component): 독립적인 업무 또는 기능을 수행하는 실행코드 기반으로 작성된 모듈 3) 파이프-필터 패턴(Pipe-FIlter Pattern) - 데이터 스트림 절차의 각 단계를 필터 컴포넌트로 캡슐화해 파이프를 통해 전송하는 패턴 - 필터 컴포넌트는 재사용성이 좋고 추가가 휘워 확장 용이 - 필터 컴포넌트들을 재배치하여 다양한파이프라인..