2주차 과제 class화 (1)
이미 과제는 끝났지만, 클래스화를 하고싶은데 생각대로 그게 되지않았다. 사실 어떻게 나눠야할지 모르겠다가 더 맞는 표현인듯 하다. 그래서 새롭게 클래스 화 하려고 한다. 각 레벨에 대한 내용은 생략하겠다. Lv.1 // main.swift import Foundation let game = BaseballGame() game.start() /...
이미 과제는 끝났지만, 클래스화를 하고싶은데 생각대로 그게 되지않았다. 사실 어떻게 나눠야할지 모르겠다가 더 맞는 표현인듯 하다. 그래서 새롭게 클래스 화 하려고 한다. 각 레벨에 대한 내용은 생략하겠다. Lv.1 // main.swift import Foundation let game = BaseballGame() game.start() /...
예외처리 실패 가능한 상황과 예외 처리 에러처리 프로그램에서 에러가 발생한 상황에 대응하고 이에 대응하는 과정. Swift에서는 런타임에 에러가 발생한 경우, 이를 처리를 지원하는 클래스를 제공한다. 프로그램에서 모든 기능이 개발자가 예상하고 원하는대로 동작한다는 보장은 없다. ...
클로저 1. 클로저 클로저는 이름없는 함수 즉, 코드 블록을 의미한다. 클로저는 상수나 변수의 참조를 캡쳐(capture)해 저장할 수 있다 스위프트의 클로저는 주변 환경에 있는 변수나 상수를 캡처하여 저장하고, 이를 나중에 사용할 수 있도록 한다. 이것은 클로저가 생성될 때 클로저가 참조하는 변수 또는 상수의 값에 대한...
import Foundation func getPrime(_ number : Int) -> Int { var result : Int = 0 var i : Int = 1 while i <= number{ if number%i == 0 { result +...
접근 제한자 접근 제한자는 다른 소스 파일이나 모듈의 코드에서 코드 일부에 대한 접근을 제한. [제약이 적음] open < public < internal < fileprivate < private [제약이 많음] open : 모든 소스 파일에서 해당 level 접근 가능 + 모든 곳에서 서브클래싱 ...
2주차 과제가 주어졌다. Lv1 1에서 9까지의 서로 다른 임의의 수 3개를 정하고 맞추는 게임입니다 정답은 랜덤으로 만듭니다.(1에서 9까지의 서로 다른 임의의 수 3자리) 나의 코드 var question : [Int] = [] var numbers : [Int] = (1...9).map{$0} for _ in 0...2 { ...
import Foundation func solution(_ answers:[Int]) -> [Int] { var score : [Int] = [] var answer : [Int] = [] var arrA : [Int] = [1,2,3,4,5] var arrB : [Int] = [2,1,...
타입 캐스팅 1. is is 연산자는 타입을 체크하는 연산자로, 비교 결과를 bool 타입을 반환 (타입 체킹) let char: Character = "A" print(char is Character) // 출력값: true print(char is String) // 출력값: false let bool: Bool = true...
디자인은 생략이라, git clone 이후 부터 시작하겠다. 이번엔 특별히 git 협업 글을 생각해서 맥북과 맥미니 번갈아 가면서 코드를 작성해보려고 한다. IBOutlet 만들기 import UIKit class ViewController: UIViewController { @IBOutlet weak var bitc...
1. 프로퍼티 옵저버 변수에 프로퍼티 옵저버를 정의하여 프로퍼티 값의 변경 사항을 모니터링하고, 미리 구현한 코드로 이에 대응할 수 있다. 다시 말하면 해당 프로퍼티를 관찰(observe)하면서 변경 사항이 발생할 때 실행된다 willSet보다는 didSet이 많이 사용된다 willSet과 didSet을 둘 다 작성했을 경우 willS...