위상 정렬 알고리즘 (Topology Sort) 위상 정렬이란 사이클이 없는 방향 그래프의 모든 노드를 방향성에 거스리지 않도록 순서대로 나열하는 것이다. ex> 선수 과목을 고려한 학습 순서 결정 (우선순위) 선수 과목구조란 여러 수강 과목이 존재하는 경우 "c언어 과목을 들어야 알고리즘 강의를 수강할 수 있다" 라는 규칙을 지켜서 수강 신청을 하는 것을 말한다. 즉 어떤 그래프를 위상 정렬하면 그 결과로 정점들을 원소로 가지는 위상적 순서대로 정렬된 배열이 된다. 진입 차수 : 특정 노드로 들어오는 간선의 수 진출 차수 : 특정 노드에서 나가는 간선의 수 큐를 이용한 위상 정렬 알고리즘 파이썬을 통해서 위상정렬을 구현할 경우 큐를 활용한다. 위상 정렬 알고리즘의 규칙은 아래와 같다. 1. 모든 정점을..
view Controller 전환과 Controller 사이에 데이터를 전달하는 방식을 적용하여 LEDBoard라는 기초 프로젝트를 실습했다. 프로젝트 내용은 설정 탭에서 텍스트와 텍스트 색상, 배경 색상을 지정하면 root View Conorller에 원하는 내용을 적용하는 방식이다. 이전에 포스팅한 controller 간의 화면 전환과 데이터 전달 방식을 사용한다. Main View Controller 새로운 프로젝트를 생성하고, 뷰 컨트롤러에 요소를 추가한다. navigation controller에 root view controller를 연결하고 Setting view controller와 연결한다. 색상을 선택하는 탭에 이미지를 적용해야 하는데, swift에서는 이미지 적용을 에셋 카탈로그에서 ..
다음 View Controller에 데이터를 전달하고, 돌아가는 화면에 데이터를 전달하는 방법을 배운다. Code로 전환한 뷰로 전달, Segue로 전달한 뷰로 전달하는 방법 중에 편한 방법을 사용하면 된다. Code로 전환한 뷰 컨트롤러에서 데이터 전달하기 앱 테스팅을 위해서 데이터를 전달할 뷰 컨트롤러에 라벨을 추가한다. 스토리보드에서 이동할 뷰 컨트롤러에 라벨을 추가하고, Assistant를 통해서 코드를 관리한다. class CodePushViewController: UIViewController { @IBOutlet weak var nameLabel: UILabel! var name : String? override func viewDidLoad() { super.viewDidLoad() if ..
앱이 복잡해질 수록 컨트롤러를 잘 관리해야 한다. 알맞은 타이밍에 내가 원하는 코드를 작성하는 것이 중요하며, 이를 위해서 View Controller의 Life Cycle을 알아야 한다. UI View Controller는 뷰가 보여진 상태에 따라 시스템에 호출하는 라이프 사이클 메서드가 다르다. 각 시점에 어떤 메서드가 호출 되는지 알아야 한다. viewDidLoad() - 뷰 컨트롤러의 모든 뷰들이 메모리에 로드됐을 때 호출 - 메모리에 처음 로드될 때 한 번만 호출 - 보통 딱 한번 호출될 행위들을 이 메소드 안에 정의 - 뷰와 관련된 추가적인 초기화 작업, 네트워크 호출 viewWillAppear() - 뷰가 뷰 계층에 추가되고, 화면에 보이기 직전에 매 번 호출 - 다른 뷰로 이동했다가 돌아오..
https://jinudmjournal.tistory.com/101 [ IOS, Swift ] ScreenTransition : 화면 전환 방식을 적용한 기초 프로젝트 1 LED 전광판 앱 제작 : 기초 프로젝트 - ScreenTransition 앱은 텍스트와 배경 색상을 설정하고, 전광판에 표시할 글자를 표시하는 기능을 한다. - UINavigation Controller 를 통해서 화면을 전환하고, 원하는 jinudmjournal.tistory.com ScreenTransition 의 두번째 포스팅이다. 이전에 Sugue : Push, Present 를 사용한 화면전환 방식을 배웠으므로, 이번에는 Code 를 통한 Push, Present 화면 전환 방식을 배운다. 3. Code 를 통한 Push 적..
LED 전광판 앱 제작 : 기초 프로젝트 - ScreenTransition 앱은 텍스트와 배경 색상을 설정하고, 전광판에 표시할 글자를 표시하는 기능을 한다. - UINavigation Controller 를 통해서 화면을 전환하고, 원하는 기능을 추가할 수 있다. - 화면 전환 방법을 배우고 프로젝트에 적용하는 방법을 배운다. - 다양한 화면 전환 방식 Sugue : Push, Present / Code : Push, Present 를 배울 수 있다. Navigation Controller 추가 - 우측 상단의 플러스 버튼으로 새로운 Controller 추가 Root View Controller 삭제 후 Root View Controller 재설정 기존의 Root Controller를 삭제 후 Navi..