본문 바로가기

분류 전체보기282

[iOS 기초] Label, Button 연결 위와 같이 label을 마우스 오른쪽 버튼을 누른 채 ViewController 클래스 내부로 드래그하면 위의 화면처럼 값을 설정하는 팝업 창이 나온다. 설정을 마친 후 Connect 버튼을 클릭하면 아래와 같은 소스가 추가된다. @IBOutlet var uiTitle: UILabel! 이 변수는 인터페이스 빌더의 레이블을 스위프트 클래스가 참조할 수 있도록 연결된 멤버 변수로, 아울렛 변수라고 부른다. @IBOutlet이라는 키워드는 인터페이스 빌더에 관련된 속성이라는 것을 알려주는 어노테이션이다. uiTitle 변수는 뷰 컨트롤러에 추가했던 레이블과 직접적으로 연결되어 있다. 이 변수의 속성을 변경하면 화면상에 있는 레이블에도 그대로 반영된다. 버튼 연결로 레이블 연결과 비슷한 과정을 거친다. 위의 .. 2021. 10. 15.
[iOS 기초 - 03] 처음 생성된 ViewController.swift의 내용 처음 프로젝트를 생성하고 ViewController.swift를 보면 다음과 같은 내용으로 구현되어 있다. import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. } } import UIKit UIKit 프레임워크를 사용하기 위해 필요한 기본 파일들을 읽어 들이는 부분이다. UIKit은 추후 자세히 알아보겠지만 앱 화면을 구성하는 데에 필요한 모든 객체들이 포함된 프레임워크다. 파운데이션 프레임워크와 함께 iOS 앱을 만들기 위해 꼭 필요한 핵심이라고 할 수 있다. class ViewC.. 2021. 10. 15.
[iOS 기초 - 02] 프로젝트 구성과 스토리보드 *.swift 확장자로 이루어진 클래스 파일은 앱의 소스 코드를 구성하는 역할을 한다. AppDelegate.swift : 앱 전체의 생명 주기 관리를 위임받은 객체인 앱 델리게이트를 구현한 클래스이다. 쉽게 말해 앱 전체에 적용해야 할 기능을 담당하는 클래스라고 할 수 있다. 다양한 상태 변화를 감지하고 이에 대한 처리를 해 주어야 할 때 이 클래스를 이용한다. ViewController.swift : 뷰 컨트롤러를 구현한 클래스. 앱은 하나 이상의 화면을 가지는데, 이를 관리하기 위해 사용되는 것이 뷰 컨트롤러이다. *.storyboard 확장자로 이루어진 스토리보드 파일은 유저 인터페이스를 종합적으로 구현하는 역할을 한다. Main.storyboard : 앱의 사용자 인터페이스 설계를 담당 Laun.. 2021. 10. 15.
[LeetCode] 207. Course Schedule (swift, python) Course Schedule - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 풀이 위상정렬을 활용해서 해결할 수 있는 문제. 각각의 강의마다 선수 강의의 수를 저장하는 indegree 배열과 해당 강의를 듣고 나서 들을수 있는 후속 강의들을 저장하는 graph 배열을 만들어준다. 예제와 같이 [[1, 0]]과 같이 주어질 경우 각각의 배열에는 다음과 같이 저장된다. [0] : [1] → 0번 강의를 들어야 1번 강의를 들을 수 있다. [1] : [] → 1번 .. 2021. 10. 15.
[iOS 기초 - 01] 뷰 컨트롤러(View Controller) 뷰 컨트롤러(View Controller) - 하위에 있는 콘텐츠를 관리하고, 보여주거나 숨기는 등의 구성을 조정하는 역할 - 내부적으로 뷰를 포함하고 있으며, 뷰에 대한 관리를 주로 한다. - 대부분의 뷰 컨트롤러는 화면 전환이 발생할 때 다른 뷰 컨트롤러와 서로 통신하고 조정하는 일을 수행한다. 위의 그림처럼 화면을 구성하는 데에는 세 가지 주요 객체가 사용된다. UIScreen : 기기에 연결되는 물리적인 화면을 정의하는 객체 UIWindow : 화면 그리기 지원 도구를 제공하는 객체 UIView : 그리기를 수행할 객체 세트 수많은 UIView 객체가 모인 Window는 이들을 화면으로 구성하여 Screen 객체에 보내고, Screen 객체는 이를 물리적인 기기에 표시한다. 이 객체들은 모두 UI.. 2021. 10. 14.
[LeetCode] 200. Number of Islands (swift) Number of Islands - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 풀이 2차원 배열에 대해서 for문을 돌면서 맵이 "1"이고 아직 방문하지 않은 곳 이면 dfs를 돌아준다. [row][column]으로 이루어진 visited 배열을 만들어서 dfs를 돌 때 "1"인 곳에 방문이 되었으면 visited를 true로 체크한다. 한 번의 dfs 탐색을 하는 경우의 수가 섬의 개수를 의미한다. 코드 class Solution { func numIsla.. 2021. 10. 13.