전체 글 117

swift 옵저버에 대해 알아보자

오늘의 공부는 옵저버에 대해 간략히 알아보는 것이다.스타를 하다보면 옵저버로 적 기지를 관찰한다.즉 여기서도 비슷하다. 항상 다른 함수를 관찰하다가필요하면 자기가 바로 실행하는 함수를 옵저버라 하는 것 같다.맞는지는 모르겠지만  옵저버 역활을 해주는 willSet , didSet 있다. 윌 셋은 현재에서 바뀔 것을 명명해주고 디드 셋은 현재에서 과거꺼를 데려오는 역활을 하는 것 같다아래 코드 예제문을 보면 알 수 있다.var name : String = "unknown" { willSet { print("현재 이름 \(name), 바뀔 이름\(newValue)") } didSet { print("현재 이름 \(name), 바뀔 이름 \(oldValue)") ..

카테고리 없음 2024.06.09

swift 클로저에 대해 알아보자

오늘의 공부 내용은 클로저다. 클로저는 = 함수다 근데 함수라고 표현하면서 또 함수랑 다르게 표현한다.? 처음에는 먼말인가 했다. 그래서 클로저에 대해 찾아보기로 했다.  난 여기서 내용을 참조했다. https://babbab2.tistory.com/81 Swift) 클로저(Closure) 정복하기(1/3) - 클로저, 누구냐 넌안녕하세요 :) 소들입니다 으휴 저번 주도 쓸데없이 바빴어서 포스팅을 못했네용 나태한 저번주의 나를 반성하며.. 하암..🥱 음 전에 제가 Swift의 꽃이 Optional이라고 말한 적 있는데, Optional 만큼babbab2.tistory.com  1. 클로저란?클로저라고 하면 보통 익명함수를 뜻한다고 생각할텐데,사실 func 키워드를 이용해 이름을 붙여주는 함수들도 모두 ..

카테고리 없음 2024.06.09

swift 타입 캐스팅에 대해 알아보기

오늘은 특강을 들으면서 타입 캐스팅에 대해 공부하게 되었다. 타입 캐스팅을 간단하게 말하면 자식은 부모 또는 부모의 부모 즉 조부모 위에껄 타입으로 변경 할 수 있다는 것이다.그래서 타입이 변경되면 자식인 나한테 선언한건 불러 올 수 없다는 것이다. 아무튼 핵심은 그렇게 이해했다  예시를 보면 알 수 있을 것 같다. 첫번째 그냥 타입을 변경 시킬 때 class Person { var id = 0 var name = "name" var email = "hgk@maile"}class Worker: Person { var salary = 300}class Programe: Worker { var lang = "Swift"}let person1 = Person()let Person2 ..

카테고리 없음 2024.06.08

swift 계산기 2 , 3, 4 단계 공부하면서 추상화 공부하기

오늘 계산기 때문에 불태운 날이 된거 같다.오랜만에 코딩을 해서 기분이 아주 좋았다.잘 풀리기 까지 했다면 기분은 더 좋았을 거라 생각하지만 아직 연습이 너무 많이 필요하고 모르는게 너무 많아서... 공부합시다.다시 차근차근 되 살펴 보기  계산기 2번 만들어 보기.class Calculator { var input1: String var input2: String var operators: String var dobleInput1: Double? {return Double(input1)} var dobleInput2: Double? {return Double(input2)} init(input1: String, input2: String, operators: St..

카테고리 없음 2024.06.08

스위프트 계산기만들면서 guard let 사용해보자

맨 처음 guard let 만난적은 진짜 아무것도 없는 베이스에서 만나이 만들기 프로젝트를 진행했을 때다  그때는 왜 사용해야 하는지는 이해는 전혀 못 했지만 지금은 이해간다 단순하게 따지면 오류를 방지하기 위해서다  class Calculator { var input1: Double var input2: Double init(input1: Double, input2: Double) { self.input1 = input1 self.input2 = input2 } func sum() -> Double { return input1 + input2 } func sub() -> Double { return i..

카테고리 없음 2024.06.05

내일배움캠프에서 창업캠프를 시작하면서

내일 배움캠프가 시작되고 벌써 1주일 시작되었다. 배움을 시작하면 느낀것은 배우는데는 하루 12시간도 모자라단 느낌을 많이 느끼고 있다.진짜 1도 모르니깐 공부해야될것이 산더미 많큼 많다는 것을 느껴다. 그래서 나의 선택은 모든걸 다 가질 수 없다면 하나만 하자! 나는 앱 서비스를 만들 수 있는 것에 집중하자!  좋은 코드?? 효율성 일단은 내가 하고 싶은 것은 앱을 만드는 것이다.이것이 선행 되어야 지속적으로 코딩을 할 수 있을 것 같다.안그러면 너무나도 어렵고 혹독한 길이 될 것 같다.  창업캠프를 시작하면서 스파르타 캠프 대표님의 강의도 있엇다.거기서 기억남는 것은 단 한가지이다 성공한 분들의 말들도 일맥상통하게 똑같이 말하는 것이였다. 그것은 내가 하고 싶은 것을 해야된다는 것이다.  그것 만이 ..

카테고리 없음 2024.06.04

내일배움캠프에서 창업캠프를 시작하면서

내일 배움캠프가 시작되고 벌써 1주일 시작되었다. 배움을 시작하면 느낀것은 배우는데는 하루 12시간도 모자라단 느낌을 많이 느끼고 있다.진짜 1도 모르니깐 공부해야될것이 산더미 많큼 많다는 것을 느껴다. 그래서 나의 선택은 모든걸 다 가질 수 없다면 하나만 하자! 나는 앱 서비스를 만들 수 있는 것에 집중하자!  좋은 코드?? 효율성 일단은 내가 하고 싶은 것은 앱을 만드는 것이다.이것이 선행 되어야 지속적으로 코딩을 할 수 있을 것 같다.안그러면 너무나도 어렵고 혹독한 길이 될 것 같다.  창업캠프를 시작하면서 스파르타 캠프 대표님의 강의도 있엇다.거기서 기억남는 것은 단 한가지이다 성공한 분들의 말들도 일맥상통하게 똑같이 말하는 것이였다. 그것은 내가 하고 싶은 것을 해야된다는 것이다.  그것 만이 ..

카테고리 없음 2024.06.04

swift 코드로 UILabel 만들어보기( 오토레이아웃 대하여)

UI Label을 스토리 보드로 만드는 것은 쉬웠으나 스토리 보드 없이 코드로 짜는 것은 먼가 어려웠다...  그러면서 이것 저것 많이 찾아보게되면서 다양한 기능을 알게 됬었다.  일단 오토 레이아웃을 설정 하기 위해서 레이아웃 범위에 대해 고민하게 되었다찾아보니 범위를 알 수 있었다   먼가 이 사진을 보고 라벨과 어떻게 이용해야 되는지 알게 되었다.  그리고 라벨 간격 사이를 뛰어 줄때 left right 사용하는 것보다는 leading Trailing 사용해야 된다 그것은 아랍권은 읽는게 달라지기 때문에 그렇다고 한다.  import UIKitclass ViewController: UIViewController { @IBOutlet weak var testLabel: UILabel! ..

카테고리 없음 2024.06.02

스위프트 햄버거 만들기

햄버거 가게에서 일을 하는 상수는 햄버거를 포장하는 일을 합니다. 함께 일을 하는 다른 직원들이 햄버거에 들어갈 재료를 조리해 주면 조리된 순서대로 상수의 앞에 아래서부터 위로 쌓이게 되고, 상수는 순서에 맞게 쌓여서 완성된 햄버거를 따로 옮겨 포장을 하게 됩니다. 상수가 일하는 가게는 정해진 순서(아래서부터, 빵 – 야채 – 고기 - 빵)로 쌓인 햄버거만 포장을 합니다. 상수는 손이 굉장히 빠르기 때문에 상수가 포장하는 동안 속 재료가 추가적으로 들어오는 일은 없으며, 재료의 높이는 무시하여 재료가 높이 쌓여서 일이 힘들어지는 경우는 없습니다.예를 들어, 상수의 앞에 쌓이는 재료의 순서가 [야채, 빵, 빵, 야채, 고기, 빵, 야채, 고기, 빵]일 때, 상수는 여섯 번째 재료가 쌓였을 때, 세 번째 재..

카테고리 없음 2024.05.31

스위프트 둘만의 암호

스위프트 둘만의 암호 문제풀기  두 문자열 s와 skip, 그리고 자연수 index가 주어질 때, 다음 규칙에 따라 문자열을 만들려 합니다. 암호의 규칙은 다음과 같습니다.문자열 s의 각 알파벳을 index만큼 뒤의 알파벳으로 바꿔줍니다.index만큼의 뒤의 알파벳이 z를 넘어갈 경우 다시 a로 돌아갑니다.skip에 있는 알파벳은 제외하고 건너뜁니다.예를 들어 s = "aukks", skip = "wbqd", index = 5일 때, a에서 5만큼 뒤에 있는 알파벳은 f지만 [b, c, d, e, f]에서 'b'와 'd'는 skip에 포함되므로 세지 않습니다. 따라서 'b', 'd'를 제외하고 'a'에서 5만큼 뒤에 있는 알파벳은 [c, e, f, g, h] 순서에 의해 'h'가 됩니다. 나머지 "ukk..

카테고리 없음 2024.05.31