1-1, 1-2를 다룬 주특기 입문 강의 (1) 게시글은 여기로!
둘다 프로젝트 생성시 자동으로 생성되는 클래스로, 앱의 생명주기나 화면에 관련한 여러 메소드를 제공한다.
주요 메서드 2개
didFinishLaunchingWithOptions
applicationDidBecomeActive
디버깅이란? 말 그대로 소프트웨어에서 발생하는 오류(bug)를 찾아내고 수정하는 과정이다.
개인적으로 이번 강의 중 가장 궁금했고 기대했던 내용...
디버그 관련 웃긴 밈 봤던게 있는데 다시 찾으려니 못찾겠다 ㅜ
// ViewController.swift
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let randomNumber = getRandomNumber()
print("randomNumber = \(randomNumber)")
}
// 0 부터 100 중 랜덤한 수를 리턴하는 함수
func getRandomNumber() -> Int {
return Int.random(in: 0...100)
}
}
참고: viewDidLoad()에는 뷰컨트롤러가 실행되는 극초반에 실행되는 코드들을 작성
: swift가 지원하는 log 찍는 도구
import UIKit
import OSLog
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
os_log(.default, "(default) randomNumber = \(self.getRandomNumber())")
os_log(.debug, "(debug) randomNumber = \(self.getRandomNumber())")
os_log(.info, "(info) randomNumber = \(self.getRandomNumber())")
os_log(.error, "(error) randomNumber = \(self.getRandomNumber())")
os_log(.fault, "(fault) randomNumber = \(self.getRandomNumber())")
}
// 0 부터 100 중 랜덤한 수를 리턴하는 함수
func getRandomNumber() -> Int {
return Int.random(in: 0...100)
}
}
: Low Level Debuger의 줄임말로, 디버그 영역 중 오른쪽 영역에 lldb를 사용해서 디버깅을 할 수 있다. 브레이크 포인트와 함께 사용하면 효과가 좋음
po
명령어: print object의 줄임말로, 객체에 대한 값을 출력한다. 가장 많이 사용하게 될 명령어. 위 캡처 사진처럼 맥락 안에서 어느 정도 자동완성도 지원을 해준다. po randomNumber > 100
처럼 계산식을 입력해서 그에 대한 결과값도 받을 수 있다.cmd + K
를 눌러서 디버그 창을 깨끗하게 비울 수 있다.expression
명령어: 변수를 선언할 수 있게 해준다. expression let $x = 100
: x = 100 선언. expression randomNumber
: lldb 영역 내에서 randomNumber를 $R0 이라는 변수로 선언.po $R0 + $x
: 두 값을 더한 값 출력.