Si Jong Tech Blog
close
프로필 배경
프로필 로고

Si Jong Tech Blog

  • 분류 전체보기 (254)
    • ◽️ Programming (254)
      • T I L (93)
      • Swift 문법 (23)
      • UIKit (18)
      • SwiftUI (13)
      • TCA (7)
      • RxSwift (7)
      • iOS (44)
      • 회고 (5)
      • ◽️ Algorithm (32)
      • ◽️ Computer Science (12)
  • 홈
  • 태그
  • 방명록
Code AutoLayout 시 .isActive 반복사용하지 않는 법

Code AutoLayout 시 .isActive 반복사용하지 않는 법

NSLayoutConstraint.activate([ emailInfoLabel.leadingAnchor.constraint(equalTo: emailTextFieldView.leadingAnchor, constant: 8), emailInfoLabel.trailingAnchor.constraint(equalTo: emailTextFieldView.trailingAnchor, constant: 8), emailInfoLabel.centerYAnchor.constraint(equalTo: emailTextFieldView.centerYAnchor), emailTextField.leadingAnchor.constraint(equalTo: emailTextFieldView.leadingAnchor, const..

  • format_list_bulleted ◽️ Programming/UIKit
  • · 2024. 3. 17.
  • textsms
Swift Architecture , MVC 개념 정리

Swift Architecture , MVC 개념 정리

아키텍처(Architectuer) 애플리케이션을 설계하고 구축하는데 사용되는 구조와 패턴을 나타낸다. 모델의 구성과 동작 원리, 구성요소 간의 관계 및 시스템 외부 환경과 관계 등 포괄하여 설명하는 설계도 같은 것 MVC (Model-View-Controller) 애플리캐이션의 구성 요소를 모델(Model) , 뷰(View), 컨트롤러(Controller)로 분리하는 패턴이다. 모델은 데이터 및 비즈니스 로직을 타나태며, 뷰는 사용자 인터페이스를 표시하고, 컨트롤러는 사용자 입력을 처리하고 모델 및 뷰 간의 상호 작용을 조정한다 Cocoa 및 Cocoa Touch 프레임워크는 MVC 아키텍처를 기반으로 구축되었다. Model 데이터 저장, 가공, 관리 등과 같은 역할을 담당 사용자 정보, 애플리케이션 설..

  • format_list_bulleted ◽️ Programming/T I L
  • · 2024. 3. 15.
  • textsms

내적

문제 설명 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 길이) import Foundation func solution(_ a:[Int], _ b:[Int]) -> Int { var sum = 0 for i in 0..

  • format_list_bulleted ◽️ Programming/◽️ Algorithm
  • · 2024. 3. 15.
  • textsms

두 배열 내 요소 비교 ( contains , elementsEqual )

두 배열 내 요소 비교 ( contains , elementsEqual ) if comNumbers.elementsEqual(playerNumbers) { print("정답입니다!!!") gameAttempts.append(attemptCount) break } else { strike = 0 ball = 0 for i in 0..

  • format_list_bulleted ◽️ Programming/T I L
  • · 2024. 3. 14.
  • textsms

if let 문 내 쉼표(,) 를 통한 다중 옵셔널 바인딩

if let 문 내 쉼표(,) 를 통한 다중 옵셔널 바인딩 if let choice = readLine(), let choiceInt = Int(choice) { switch choiceInt { case 1: print("게임을 시작합니다.") GameStart() break case 2: print("") GameRecords() break case 3: print("숫자 야구 게임을 종료합니다.") GameEnd() break default: print("잘못된 입력입니다. 1, 2, 3 중에서 선택해주세요.") } } else { print("입력이 잘못되었습니다.") 게임을 시작하기 전에 선택 항목을 받아 각자 다른 클래스를 실행시키는 식을 만들었다. 일단 각자의 식을 실행하려면 각기 다른 입력..

  • format_list_bulleted ◽️ Programming/T I L
  • · 2024. 3. 14.
  • textsms

수박수박수박수?

문제 설명 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. func solution(_ n:Int) -> String { var result = "" for i in 0..

  • format_list_bulleted ◽️ Programming/◽️ Algorithm
  • · 2024. 3. 14.
  • textsms
readLine().split 의 활용 방법 터득

readLine().split 의 활용 방법 터득

readLine().split(separator: “”)숫자 야구 게임을 진행하면서 사용자에게 입력 값을 받기 위해 readLine 을 사용하여 입력값을 넣을 수 있도록 구현하였다.하지만 내가 원하는건 사진과 같이 배열의 형태로 숫자를 넣는것이 아닌, 연결된 숫자로 넣기를 바랬다.하나하나 따로 저장해서 연결을해야할지 어떻게 진행을 해야하나 막막한 순간 구글링을 통해 split 메서드를 알아냈다. 이 코드는 사용자로부터 입력을 받고 각 문자를 separator: “” 값으로 분할하여 문자 배열로 만든다.이 코드를 사용하여 입력 받은 각 문자를 “” 로 지정하였더니 원하던 방식으로 값 입력이 가능해졌다.guard let input = readLine()?.split(separator: "") else { ..

  • format_list_bulleted ◽️ Programming/T I L
  • · 2024. 3. 13.
  • textsms
Swift TIL (제네릭 , 비동기와 네트워킹 , DispatchQueue )

Swift TIL (제네릭 , 비동기와 네트워킹 , DispatchQueue )

제네릭 제네릭은 코드의 유연성과 재사용성을 높여주는 도구로서 함수, 메서드, 클래스, 구조체 열거형 등에서 사용할 수 있다. 제네릭을 사용하면 코드의 일부분을 일반화하여 데이터 타입이나 요구사항에 대한 명확한 정의 없이 다양한 종류의 데이터 타입을 처리할 수 있다. 타입 안정성(Type Safety) : 컴파일 시점에 타입 안정성을 보장합니다. 컴파일러는 제네릭 코드를 사용하여 잘못된 데이터 타입이 전달되는 것을 방지하고 실행 시점에서 발생할 수 있는 에러를 사전에 방지할 수 있다. 코드 재사용성(Reusability) : 동일한 로직을 다양한 데이터 타입에 대해 재사용할 수 있다. 제네릭을 사용하면 타입에 의존하지 않는 범용적인 코드를 작성할 수 있다. 유연성과 확장성(Flexibility and Sc..

  • format_list_bulleted ◽️ Programming/T I L
  • · 2024. 3. 13.
  • textsms

가운데 글자 가져오기

문제 설명 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. func solution(_ s:String) -> String { let middleIndex = s.index(s.startIndex, offsetBy: s.count / 2) if s.count % 2 == 0 { let startIndex = s.index(middleIndex, offsetBy: -1) let endIndex = s.index(middleIndex, offsetBy: 0) return String(s[startIndex...endIndex]) } else { return String(s[middleIndex]) } } middleIndex..

  • format_list_bulleted ◽️ Programming/◽️ Algorithm
  • · 2024. 3. 13.
  • textsms

Swift TIL ( 예외처리 , ARC , 프로토콜 , Extension)

예외 처리 오류가 발생할 수 있는 코드 블록을 구분하고 오류에 대한 처리를 하는 방법 예외 처리는 ‘throw’ , ‘do-catch’ 그리고 ‘Error’ 프로토콜을 사용하여 이루어 진다. 1.에러처리 에러처리는 어떤 코드 블록에서 오류가 발생할 수 있는 상황을 정의하고, 이 오류를 처리하는 것을 의미한다. swift 에서는 ‘Error’ 프로토콜 을 준수하는 타입을 사용하여 오류를 표현한다. 2. Error 프로토콜 Error 프로토콜은 swift 에서 오류를 나타내기 위한 프로토콜이다. 사용자 정의 오류 타입을 만들때 이 프로토콜을 준수하도록 해야한다. enum VendingMachineError: Error { case invalidSelection case insufficientFunds(coi..

  • format_list_bulleted ◽️ Programming/T I L
  • · 2024. 3. 12.
  • textsms
  • navigate_before
  • 1
  • ···
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • ···
  • 26
  • navigate_next
프로필 로고

Si Jong Tech Blog

전체 카테고리
  • 분류 전체보기 (254)
    • ◽️ Programming (254)
      • T I L (93)
      • Swift 문법 (23)
      • UIKit (18)
      • SwiftUI (13)
      • TCA (7)
      • RxSwift (7)
      • iOS (44)
      • 회고 (5)
      • ◽️ Algorithm (32)
      • ◽️ Computer Science (12)
최근 글
인기 글
최근 댓글
태그
  • #tableView
  • #티스토리챌린지
  • #swift
  • #project
  • #알고리즘
  • #오블완
  • #TIL
  • #IOS
  • #MVC
  • #uikit
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바